Python PDF

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.
Antworten
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Dienstag 21. Oktober 2008, 18:58

Hallo,

ich suche gerade nach einer Möglichkeit in einer PDF-Datei ein paar Informationen auszutauschen. Die fertige PDF-Datei wäre vorhanden, ich möchte nur ein paar Infos (Anschrift etc.) dynamisch einfügen.
Ich habe mich schonmal auf pypi umgeschaut, finde aber nicht wirklich ein passendes Tool...

Kennt hier jemand ein passendes?

Danke!
MfG
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 21. Oktober 2008, 19:03

Also zum editieren von PDFs ist mir nichts bekannt. Zum erstellen gibt es Reportlab; vielleicht kann das ja auch editieren.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Dienstag 21. Oktober 2008, 19:24

dank dir...
schade, aber ReportLab unterstützt das nicht (zumindest in der kostenlosen Version)
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Mittwoch 22. Oktober 2008, 08:40

Ich wüsste nur (Stichwort Jython) die Java-Bibliothek iText, die so etwas kann.

Vor 7 Jahren hatte ich mal einenParser für PDF-1.2 gebaut. Inzwischen ist aber der Standard bei 1.7 oder so angekommen und deutlich umfangreicher geworden. Je nachdem wie komplex dein Dokument und wie neu dein Generator ist, wäre ein eigener Parser dennoch ein gangbarer Weg. Im Prinzip (und daran hat sich bestimmt nicht viel geändert) besteht eine PDF-Datei aus einem Index, der sagt, wo in der Datei Objekte stecken, die dann Sammlungen von PDF-Befehlen sind, die wiederum an Postscript erinnern. Normalerweise sind die Objekte komprimiert - wenn ich's richtig erinnere aber mit gzip, was Python ja beherrscht. Irgendwann kommt man dann zu Strings, in denen man dann Ersetzungen vornehmen könnte. Dies darf natürlich nicht das Layout brechen oder man hat ein sehr großes Problem, weil man dann ja erstmal verstehen muss, was die Befehle eigentlich machen und dann alles selbst neu malen muss.

Stefan
farid
User
Beiträge: 95
Registriert: Mittwoch 8. Oktober 2008, 15:37

Mittwoch 22. Oktober 2008, 10:04

sma hat geschrieben:Ich wüsste nur (Stichwort Jython) die Java-Bibliothek iText, die so etwas kann.
Vielleicht gibt's PDF Parser in Perl, die man portieren koennte?

http://www.perlmonks.org/?node_id=653511
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Mittwoch 22. Oktober 2008, 10:35

altenativ auch direkt das Perl Modul nehmen:

http://search.cpan.org/perldoc?Inline::Python
http://search.cpan.org/perldoc?perlmodule

Vor allem perlmodule sieht gar nicht so doof aus.
Qubit
User
Beiträge: 75
Registriert: Dienstag 7. Oktober 2008, 09:07

Mittwoch 22. Oktober 2008, 12:53

SchneiderWeisse hat geschrieben: Kennt hier jemand ein passendes?
Eine Möglichkeit wäre, pyPdf entsprechend anzupassen:
http://pybrary.net/pyPdf
Benutzeravatar
kbr
User
Beiträge: 876
Registriert: Mittwoch 15. Oktober 2008, 09:27

Mittwoch 22. Oktober 2008, 15:04

Hi, mein erstes Posting in diesem Forum! :D
SchneiderWeisse hat geschrieben: ich suche gerade nach einer Möglichkeit in einer PDF-Datei ein paar Informationen auszutauschen. Die fertige PDF-Datei wäre vorhanden, ich möchte nur ein paar Infos (Anschrift etc.) dynamisch einfügen.
Ich habe mich schonmal auf pypi umgeschaut, finde aber nicht wirklich ein passendes Tool...

Kennt hier jemand ein passendes?

Danke!
MfG
Genau das Problem hatte auch ich vor einiger Zeit. Mir sind zwei Python-Tools bekannt, die dies können: die kommerzielle Variante von ReportLab sowie die gleichfalls kommerzielle pdflib http://www.pdflib.de. Die pdflib lässt sich beliebig lange testen, fügt unregistriert aber jedem erzeugten PDF ein Wasserzeichen hinzu. Ein kostenfreies Python-Tool zur Modifizierung bestehender PDFs kenne ich leider nicht.

Gruß
Klaus
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Mittwoch 22. Oktober 2008, 15:39

danke für eure Informationen!
Antworten