Spaces:
Runtime error
Runtime error
Update utils.py
Browse files
utils.py
CHANGED
@@ -751,6 +751,19 @@ def create_picture(history, prompt):
|
|
751 |
########################################
|
752 |
# Ausgabe in PDF des Chathistory
|
753 |
########################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
754 |
def erstellePdf(file_path_download, ueberschrift, dic_history):
|
755 |
# Initialisiere eine leere Listseinstellung ("flowables"), die später gefüllt wird
|
756 |
elements = []
|
@@ -807,7 +820,9 @@ def erstellePdf(file_path_download, ueberschrift, dic_history):
|
|
807 |
|
808 |
|
809 |
# Generiere das PDF-Dokument
|
810 |
-
doc =
|
|
|
|
|
811 |
doc.build(elements)
|
812 |
|
813 |
|
@@ -849,6 +864,21 @@ def is_stop_word_or_prefix(s: str, stop_words: list) -> bool:
|
|
849 |
return False
|
850 |
|
851 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
852 |
|
853 |
|
854 |
|
|
|
751 |
########################################
|
752 |
# Ausgabe in PDF des Chathistory
|
753 |
########################################
|
754 |
+
#callback Methode, die auf jeder PDF Seite das Datum oben hinschreibt
|
755 |
+
def on_each_page(canvas, doc):
|
756 |
+
page_width, page_height = A4 # Oder das von Ihnen verwendete Seitenformat, z.B. A4
|
757 |
+
canvas.saveState()
|
758 |
+
canvas.setFont('Times-Roman', 10)
|
759 |
+
# Formatieren Sie das Datum nach Ihrem Wunsch
|
760 |
+
current_date = datetime.now().strftime("%Y-%m-%d")
|
761 |
+
print(current_date)
|
762 |
+
# Positionieren Sie das Datum oben rechts auf der Seite
|
763 |
+
canvas.drawRightString(page_width - 72, page_height - 28, current_date)
|
764 |
+
canvas.restoreState()
|
765 |
+
|
766 |
+
#PDF Inhalte zusammenstellen und PDF unter dem angegebene Pfad file_path_download ablegen
|
767 |
def erstellePdf(file_path_download, ueberschrift, dic_history):
|
768 |
# Initialisiere eine leere Listseinstellung ("flowables"), die später gefüllt wird
|
769 |
elements = []
|
|
|
820 |
|
821 |
|
822 |
# Generiere das PDF-Dokument
|
823 |
+
doc = CustomDocTemplate(file_path_download, pagesize=paper_size)
|
824 |
+
#on_each_page ist eine callback Methode, die auf jeder neuen PDF Seite ausgeführt wird
|
825 |
+
doc.onPage = on_each_page
|
826 |
doc.build(elements)
|
827 |
|
828 |
|
|
|
864 |
return False
|
865 |
|
866 |
|
867 |
+
##########################################
|
868 |
+
# Klasse, die die SimpleDocTemplate überschreibt (für PDF Generierung)
|
869 |
+
# war nötig, da SimpleDocTemplate die on_each_page nicht ausgeführt hat - warum auch immer ...
|
870 |
+
##########################################
|
871 |
+
class CustomDocTemplate(SimpleDocTemplate):
|
872 |
+
def handle_pageBegin(self):
|
873 |
+
# Sorgt dafür, dass die Standard-Page-Begin-Logik ausgeführt wird
|
874 |
+
self._handle_pageBegin()
|
875 |
+
# Jetzt können Sie das Canvas-Objekt über self.canv sicher verwenden
|
876 |
+
self.canv.saveState()
|
877 |
+
self.canv.setFont('Helvetica', 10)
|
878 |
+
current_date = datetime.now().strftime("%Y-%m-%d")
|
879 |
+
# Passen Sie hier die Positionierung an Ihre Bedürfnisse an
|
880 |
+
self.canv.drawRightString(550, 800, current_date) # Position anpassen
|
881 |
+
self.canv.restoreState()
|
882 |
|
883 |
|
884 |
|