![](https://secure.gravatar.com/avatar/d139a7ba507dde0c52e23a96c886235e.jpg?s=120&d=mm&r=g)
Hallo Leute, ich möchte Rechnungen in PDF erstellen (dynamisch). Kennt jemand eine gute Anleitung bzw. Einführung? Insbesondere interessiert mich der Weg über XML. (Habe selbst schon ge'google'lt, aber nur kurze, wenig aussagekräftige Sachen gefunden) Danke Mathias -- Mathias Uebel www.meeloon.de ..:|:.. OpenSource for business ..:|:.. www.frame-network.de ---------------------------------------------------------------------------- -- _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
![](https://secure.gravatar.com/avatar/afe0b6c1ccedcf158119c83034778922.jpg?s=120&d=mm&r=g)
Hi,
ich möchte Rechnungen in PDF erstellen (dynamisch). Kennt jemand eine gute Anleitung bzw. Einführung? Insbesondere interessiert mich der Weg über XML. (Habe selbst schon ge'google'lt, aber nur kurze, wenig aussagekräftige Sachen gefunden)
Reportslabs ist eine Möglickkeit, leider habe damit noch keine Erfahrungen. Sieh dir mal die Links: www.reportlab.org www.pythonware.com python.net/~gherman Damit müsste sich einiges machen lassen. Ansonsten gibt es Tools von die Transformation von XML nach PDF (Beispiel Tools für Docbook). Kannst ja mal die Lösung schicken. Volker _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
![](https://secure.gravatar.com/avatar/63291a304566cbe5062a0e92da2ab883.jpg?s=120&d=mm&r=g)
--On 5. Juni 2005 20:49:35 +0200 Volker Helm <helm.volker@gmx.de> wrote:
Hi,
ich möchte Rechnungen in PDF erstellen (dynamisch). Kennt jemand eine gute Anleitung bzw. Einführung? Insbesondere interessiert mich der Weg über XML. (Habe selbst schon ge'google'lt, aber nur kurze, wenig aussagekräftige Sachen gefunden)
Reportslabs ist eine Möglickkeit, leider habe damit noch keine Erfahrungen.
Sieh dir mal die Links:
www.reportlab.org www.pythonware.com python.net/~gherman
Damit müsste sich einiges machen lassen. Ansonsten gibt es Tools von die Transformation von XML nach PDF (Beispiel Tools für Docbook).
Wenn Du etwas haben willst was gut aussieht (auch vom Layout und Satz her), dann gibt es im Prinzip mehrere Lösungen: a) Reportlab wie genannt, b) TeX/LaTeX oder c) über XSL-FO Transformation. Wenn Du es billig haben willst, dann generierst Du Dir ein HTML und jagst es durch htmldoc (htmldoc.org) durch. Ich persönlich habe mich für PDF mittlereile mit XSL-FO auseinandergesetzt...das ist zwar Java-Kram aber einfach über os.system() Aufrufe integrierbar. Die Datenpräparation kann man weiterhin in Python machen. LaTeX COde lässt sich natürlich auch gut über Python generieren. -aj _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
![](https://secure.gravatar.com/avatar/d139a7ba507dde0c52e23a96c886235e.jpg?s=120&d=mm&r=g)
Am Sonntag, den 05.06.2005, 20:49 +0200 schrieb Volker Helm:
Hi,
[...] Hallo Leute, vielen Dank für die Hilfe. Die drei Anregungen von A. Jung habe ich mir angeschaut. Ich habe mich für Reportlab entschieden, denn es muss eine schnelle Lösung sein, ohne zusätzliche Installation. In http://www.reportlab.org/rsrc/userguide.pdf findet man alles dazu.
Kannst ja mal die Lösung schicken.
Volker
Okay: mein Ansatz: #! /usr/bin/python # rechnung in pdf from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import letter,A4 from reportlab.lib.units import inch # Canvas entwerfen c = canvas.Canvas('test.pdf', pagesize = A4) width, height = A4 # rahmen in der seite c.setStrokeGray(0.8) c.rect(0.5*inch, 0.5*inch, 7.5*inch,11*inch, stroke=1, fill=0) # firmen logo einfuegen c.drawImage("logo.png",inch,10.5*inch,177,29,mask=None) def box (text,x,y,fsize): textobject = c.beginText() textobject.setFont("Helvetica",fsize) textobject.setTextOrigin(x,y) textobject.textLines(text) c.drawText(textobject) return 0 myAbs = "muppel AG" # kommt spaeter aus db text = """Absender: """ + myAbs + """ Strasse PLZ Tel.: Fax.: www.""" box(text,5*inch,10*inch,11) text = """Adresse Rechnung PLZ Strasse""" box(text,inch,10*inch,11) text = """Hallo Anbieter Sie erhalten eine Rechnung ...""" box(text,inch,8.5*inch,11) c.showPage() c.save() -- Mathias Uebel www.meeloon.de ..:|:.. OpenSource for business ..:|:.. www.frame-network.de ---------------------------------------------------------------------------- -- _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
participants (3)
-
Andreas Jung
-
Mathias Uebel
-
Volker Helm