PDF-Datei erzeugen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

cofi hat geschrieben:Da der Thread schon etwas aelter ist: Numerix koenntest du das naeher ausfuehren? Aus was hast du PDFs gebaut und warum schied z.B. LaTeX aus?
LaTeX habe ich nicht im Blick gehabt, da ich damit bislang nichts zu tun hatte. Ob das im konkreten Fall nützlich wäre bzw. sich die Beschäftigung damit lohnt, weiß ich nicht.

Ziel war es, anhand von einigen Benutzereingaben aus Eingabefeldern ein Formular als PDF zu erzeugen, in dem diese Benutzereingaben eingearbeitet sind. Da ich mir offen halten wollte, ob ich die entsprechende Anwendung webbasiert oder als lokale GUI-Variante laufen lasse, habe ich nach etwas gesucht, was sowohl lokal mit Python 3.2 und Tkinter-GUI einsetzbar ist, als auch webbasiert unter den konkreten Bedingungen des Webhosters.
Das entsprechende Webhosting-Paket beinhaltet Python (derzeit 2.7), allerdings weder PIL noch ReportLab und keine Rechte zur Installation weiterer Module. Allerdings ist ImageMagick verfügbar. Bei näherer Beschäftigung mit ImageMagick habe ich dann dazu gelernt, dass man damit nicht nur schon vorhandene Grafikdateien modifizieren kann, sondern auch ein quasi ein leeres Canvas erstellen und darauf schreiben und zeichnen kann, und zwar mit pixelgenauer Positionierung. Das Produkt lässt sich dann als PDF abspeichern oder in einem der vielen unterstützten Grafikformate.

Weitere Projektideen, die ich habe, könnten auch die Erzeugung von PDFs beinhalten, die außer Text einfache geometrische Figuren beinhalten (z.B. ein komplett beschriftetes Dreieck aus den Angaben der Seitenlängen, und zwar im exakten Maßstab 1:1). ImageMagick lässt mir da die Freiheit, das Ergebnis mal als PDF zu produzieren oder auch als Grafik - der Zeichenprozess ist exakt der gleiche. Eine solche Grafik könnte ich dann z.B. auch bei einer webbasierten Anwendung on the fly erzeugen und direkt in ein dynamisch erzeugtes HTML-Dokument einbinden.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

ah, interessant. Damit kann man ImageMagick ähnlich Einsetzten wie die "Canvas" aus Reportlab, richtig?

Gruß, noisefloor
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

noisefloor hat geschrieben:Damit kann man ImageMagick ähnlich Einsetzten wie die "Canvas" aus Reportlab, richtig?
Das kann ich nicht beantworten, weil ich mich mit ReportLab nur kurz beschäftigt und diesen Weg aus den genannten Gründen nicht weiter verfolgt habe. Du kannst mit ImageMagick ein Canvas erzeugen und es vergleichbar mit einem Tkinter-Canvas mit einfachen geometrischen Formen (Kreise, Linien, Polygonzüge, Punkte u.ä.) sowie Text pixelgenau über ein Koordinatensystem beschreiben. Da man die Auflösung festlegen kann, lassen sich damit passable Druckergebnisse erzielen.
BlackJack

@numerix: Aber es werden auch im PDF Pixelgraphiken erzeugt, oder!? Das wäre ja eher unschön.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Ja, ist korrekt. Und ja, ist eher unschön. Das werde ich aber wohl in Kauf nehmen (müssen). Angesichts der vorteilhaften Optionen, die diese Variante für meine Einsatzzwecke hat, ist das verschmerzlich, zumal die Druckqualität für meine Bedürfnisse absolut okay ist. Hier mal ein Beispieldokument.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

yo. IMHO ist es in der Tat einer Alternative, zumal du ja immer auf A4 druckst.

Gruß, noisefloor
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Es gibt anscheinend einige Wege PDF Dateien auf Low-Level zu erzeugen.

Ich suche allerdings eine Lösung, bei der man visuell ein Template bauen kann.
Das Template soll dann von Python aus Daten befüllt und als PDF Datei ausgeben werden.

ReportLab fällt eigentlich flach, weil die interessanten Sachen in der kostenpflichtigen "ReportLab PLUS" Paket stecken.

Eine Lösung wäre JasperReports über pyJasper anzusprechen. So könnte man mit iReport die Templates visuell erstellen. Alles Open Source... Allerdings ist das Jasper Zeugs Java Software :(

Vielleicht könnte man was stricken aus OpenOffice/LibreOffice und der Python UNO-Schnittstelle.
Einen Python Dokument Konverter existiert bereits: https://github.com/dagwieers/unoconv/bl ... er/unoconv
Python Beispiele: http://udk.openoffice.org/python/python ... l#examples

Kennt vielleicht jemand was in der Richtung?

EDIT: Vielleicht auch eine Lösung: http://www.xhtml2pdf.com/ - https://github.com/chrisglass/xhtml2pdf (Ach, die hab ich schon einmal erwähnt ;) )

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
heiliga horsd

Ich melde mich mal wieder, und zwar bin ich bei meinem Projekt schon etwas weiter. Von LaTeX habe ich mich abgewandt, ist zu aufwändig und die Ergebnisse waren eher mau. OpenOffice per UNO oder POD anzubinden ist zwar verlockend, aber viel zu umfangreich um sich da schnell einzulesen. Nun verwende ich reportlab, hab aber ein kleines Problem/ein kleine Frage:

http://www.python-forum.de/viewtopic.php?f=4&t=26931


Vielleicht weiß ja jemand Rat?

Lg hh
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:


GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
nezzcarth
User
Beiträge: 1635
Registriert: Samstag 16. April 2011, 12:47

heiliga horsd hat geschrieben:[...]Von LaTeX habe ich mich abgewandt, ist zu aufwändig und die Ergebnisse waren eher mau. [...]
Hast du dir mal ConTeXt angeschaut? Das erlaubt - so sagt man - größere gestalterische Freiheit.

http://wiki.contextgarden.net/Main_Page
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Also ich hab mich nun erst einmal für http://www.xhtml2pdf.com/ entschieden: https://github.com/jedie/PyRM/commit/03 ... c5d3b049d4

Die Gestaltung des PDFs ist zwar etwas tricky, aber noch handhabbar.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten