Jinja-wie für die Pdf-Datei in Python
Ich bin auf der Suche nach der besten exaktes Werkzeug für die PDF-Datei in Python, das funktioniert wie Jinja nicht für HTML.
Was sind Ihre Vorschläge?
Wenn Sie vertraut sind mit der Jinja-framework habe ich nur noch eine Antwort, die Sie nützlich finden könnten.
InformationsquelleAutor Mamane | 2010-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als beantwortet jbochi, ReportLab ist die Grundlage für fast alle Python-Projekten, generieren von PDF-Dateien.
Aber für Ihre Bedürfnisse, möchten Sie vielleicht zu prüfen, aus Pisa /xhtml2pdf. Sie erzeugen Ihre HTML mit einem Jinja-Vorlage und verwenden Sie dann Pisa um das HTML zu PDF umwandeln. Pisa baut auf ReportLab.
Edit: eine weitere option, die ich vergessen hatte, über wkhtmltopdf
InformationsquelleAutor Van Gale
Haben Sie einen Blick auf ReportLab Toolkit.
Können Sie Vorlagen verwenden, nur mit der kommerziellen version, obwohl.
Vielleicht ist es ein overkill, aber man könnte Jinja zu generieren, der text und das toolkit zum konvertieren von text nach pdf.
Nicht übertrieben, IMO. Ich glaube, diese Lösung funktioniert sehr gut.
InformationsquelleAutor jbochi
Gibt es jetzt ein neues Kind auf dem block, genannt WeasyPrint.
InformationsquelleAutor plaes
Hatte ich genau die gleiche Anforderung wie der OP. Leider WeasyPrint war nicht eine praktikable Lösung, denn ich brauchte sehr genaue Positionierung und die barcode-Unterstützung. Nach ein paar Tagen Arbeit beendete ich eine reportlab XML-wrapper mit Jinja2 unterstützen.
Den code auf GitHub zu finden
darunter ein Beispiel XML wich generiert die folgenden PDF.
InformationsquelleAutor badzong
Was über python/jinja rst/html und html/rst, um pdf-Datei mit der entweder rst2pdf oder pandoc.
Beide haben gut für mich gearbeitet, aber. wie plaes, kann ich versuchen, Weasyprint in die Zukunft.
InformationsquelleAutor zach
Was genaueres Werkzeug für die PDF-Datei in Python, das funktioniert wie Jinja als Jinja selbst?
Sie müssen nur sicherstellen, dass die
Jinja
block, variable, kommentieren und Zeichenfolgen zur Identifizierung von nicht in Konflikt mit denLaTeX
Befehle. Sobald Sie ändern Sie dieJinja
Umgebung zu imitieren, dieLaTeX
Umfeld Sie sind bereit zu gehen!Hier ist ein snippet, das funktioniert out of the box:
Python Quelle:
./create_pdf.py
Latex-Vorlage:
./latex/latex_template.tex
Nun einfach anrufen:
$> python ./create_pdf.py
Resultierenden Latex-Quelle:
./generated_latex.tex
Generierten Pdf:
Referenzen:
dict
zurender_template
InformationsquelleAutor Matteo
Wenn Sie verwenden möchten vorhandene PDF-Datei als Vorlage zu verändern, ohne original-Dokument, können Sie Dhek-template-editor, der es ermöglicht, Raum zu definieren (bounds, name, Typ) in einer separaten Vorlage-Datei.
Vorlage gespeichert wird im JSON-format, so dass es kann analysiert werden, in Python, zum füllen von Bereichen über PDF und erstellen Sie die endgültige Dokument (z.B. mit den Werten aus dem Web-Formular).
Siehe Dokumentation auf https://github.com/applicius/dhek .
InformationsquelleAutor cchantep