Zusammenführen von Vorhandenen PDF-Datei in die neue ReportLab PDF-Datei per flowables

Ich habe einen reportlab SimpleDocTemplate - und Rückgabe als ein dynamisches PDF. Ich bin generieren die Inhalte basieren auf einigen Django-Modell-Metadaten. Hier mein template-setup:

buff = StringIO()
doc = SimpleDocTemplate(buff, pagesize=letter,
                        rightMargin=72,leftMargin=72,
                        topMargin=72,bottomMargin=18)
Story = []

Kann ich problemlos hinzufügen von textuellen Metadaten aus der Entry Modell in der Story Liste später gebaut:

    ptext = '<font size=20>%s</font>' % entry.title.title()
    paragraph = Paragraph(ptext, custom_styles["Custom"])
    Story.append(paragraph)

Und dann generieren der PDF-Datei werden in der Antwort zurückgegeben wird, durch den Aufruf build auf die SimpleDocTemplate:

doc.build(Story, onFirstPage=entry_page_template, onLaterPages=entry_page_template)

pdf = buff.getvalue()
resp = HttpResponse(mimetype='application/x-download')    
resp['Content-Disposition'] = 'attachment;filename=logbook.pdf'
resp.write(pdf)
return resp

Eines Metadaten-Feldes auf dem Modell ist ein Datei-Anhang. Wenn diese Datei-Anhänge sind PDF-Dateien, möchte ich verschmelzen Sie in die Geschichte, die ich bin, zu generieren; IE Bedeutung, die eine PDF-Datei mit reportlab "Flow" - Typ.

Ich bin versucht zu tun, indem pdfrw, aber hatte noch nicht viel Glück. Idealerweise würde ich gerne einfach anrufen:

from pdfrw import PdfReader
pdf = pPdfReader(entry.document.file.path)
Story.append(pdf)

und fügen Sie die pdf, um das vorhandene Story-Liste aufgenommen zu werden, die in die Generierung des endgültigen Dokuments, wie oben erwähnt.

Jemand irgendwelche Ideen? Ich habe versucht, etwas ähnliches mit pagexobj um das pdf zu erstellen, versuchen, diesem Beispiel zu Folgen:

http://code.google.com/p/pdfrw/source/browse/trunk/examples/rl1/subset.py

from pdfrw.buildxobj import pagexobj
from pdfrw.toreportlab import makerl

pdf = pagexobj(PdfReader(entry.document.file.path))

Aber habe keine Glück entweder. Kann mir jemand erklären, der beste Weg zum Zusammenführen einer vorhandenen PDF-Datei in ein reportlab fließfähigen? Ich bin nicht gut mit diesem Zeug und wurden, schlug mein Kopf auf pdf-Generierung nun seit Tagen. 🙂 Jede Richtung sehr dankbar!

  • Ich denke, man kann diese mit der kostenpflichtigen version von ReportLab.
  • Ugh, ich glaube nicht, dass die kostenpflichtige version von ReportLab ist eine option für mich, leider. 🙁 Wer irgendwelche alternativen?
InformationsquelleAutor kyleturner | 2012-11-13
Schreibe einen Kommentar