Seite 1 von 1

Dictionary als .pdf abspeichern

Verfasst: Dienstag 8. September 2020, 13:41
von Ede1994
Hallo :D
Ich möchte mittels tkinter und filedialog ein Dictionary als pdf abspeichern.

Code: Alles auswählen

import tkinter as tk
from tkinter import filedialog

def buttonSaveData():
 
    file = filedialog.asksaveasfile(title="Save As...", mode='w', defaultextension=".pdf", filetypes =[("Portable Document Format","*.pdf")])
    
    #  asksaveasfile return `None` if dialog closed with "cancel". 
    if file is None:
         return

    else:
        for row_index, key in enumerate(save_data):
            file.write('\n {}: {}'.format(key, save_data[key]))
    
    file.close()
Wenn ich das so über einen tk.Button ausführe funktioniert das auch. Öffne ich dann aber die pdf-Datei erhalte ich einen Fehler.

Code: Alles auswählen

Dokument ... konnte nicht geöffnet werden
Der Dateityp Einfaches Textdokument (text/plain) wird nicht unterstützt
Ich verstehe den Fehler und wenn ich die Datei als txt-File speichere kann ich es auch öffnen. Wie bekommt das jetzt aber für pdf-Files hin?

Re: Dictionary als .pdf abspeichern

Verfasst: Dienstag 8. September 2020, 13:44
von sparrow
Aber du weißt schon, dass eine Datei nicht einfach zu einer PDF-Datei wird, nur weil man sie .pdf nennt?

Re: Dictionary als .pdf abspeichern

Verfasst: Dienstag 8. September 2020, 14:45
von peterpy
Hallo Ede1994 ,

tk.Canvas hat eine postscript Methode.
schau mal hier:https://anzeljg.github.io/rin2/book2/24 ... thods.html
Gruss
Peter

Re: Dictionary als .pdf abspeichern

Verfasst: Dienstag 8. September 2020, 14:47
von Ede1994
sparrow hat geschrieben: Dienstag 8. September 2020, 13:44 Aber du weißt schon, dass eine Datei nicht einfach zu einer PDF-Datei wird, nur weil man sie .pdf nennt?
Ja, dass ist mir klar. Weshalb ich auch weiß, warum ich die Datei nicht öffnen kann. Ich wollte wissen, wie man meinen Code verändern muss, damit es geht.
peterpy hat geschrieben: Dienstag 8. September 2020, 14:45 tk.Canvas hat eine postscript Methode.
schau mal hier:https://anzeljg.github.io/rin2/book2/24 ... thods.html
Danke. Schau ich mir mal an.

Re: Dictionary als .pdf abspeichern

Verfasst: Dienstag 8. September 2020, 15:15
von Sirius3
Wenn Du weißt, dass das nicht geht, dann ist die Frage seltsam gestellt. Und dass das über tkinter geht, ist doch für Deine Frage auch völlig irrelevant. save_data kommt aus dem nichts, das sollte eine Parameter der Funktion sein. Das Zeileende-Zeichen \n steht, wie der Name schon sagt am ENDE jeder Zeile.
Zum Schreiben von PDF-Dateien gibt es viele Pakete, z.B. reportlab, weasyprint, ...

Re: Dictionary als .pdf abspeichern

Verfasst: Sonntag 13. September 2020, 07:31
von Count
mit FPDF kann man PDF's recht einfach erstellen
das "asksaveasfile" ist eher für den Speicherort gedacht