मेरे पास एक रिपोर्टलैब SimpleDocTemplate
है और इसे गतिशील पीडीएफ के रूप में लौटा रहा है। मैं कुछ Django मॉडल मेटाडेटा के आधार पर इसकी सामग्री उत्पन्न कर रहा हूं।मौजूदा पीडीएफ में नए रिपोर्ट में पीडीएफ को फ्लैगबल्स के माध्यम से पीडीएफ
buff = StringIO()
doc = SimpleDocTemplate(buff, pagesize=letter,
rightMargin=72,leftMargin=72,
topMargin=72,bottomMargin=18)
Story = []
मैं आसानी से Story
सूची में Entry
मॉडल से शाब्दिक मेटाडाटा जोड़ सकते हैं निर्मित होने की बाद में:: यहाँ मेरे टेम्पलेट सेटअप है
ptext = '<font size=20>%s</font>' % entry.title.title()
paragraph = Paragraph(ptext, custom_styles["Custom"])
Story.append(paragraph)
और फिर उत्पन्न पीडीएफ द्वारा जवाब में वापस करने SimpleDocTemplate
build
पर बुला: मॉडल पर
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
एक मेटाडाटा क्षेत्र एक फ़ाइल attachm है ईएनटी। जब वे फ़ाइल अनुलग्नक पीडीएफ होते हैं, तो मैं उन्हें उस कहानी में विलय करना चाहता हूं जो मैं उत्पन्न कर रहा हूं; आईई का अर्थ है रिपोर्टलाब "प्रवाह योग्य" प्रकार का पीडीएफ।
मैं pdfrw
का उपयोग करके ऐसा करने का प्रयास कर रहा हूं, लेकिन कोई भाग्य नहीं है। आदर्श रूप में मैं सिर्फ कॉल करने के लिए खुशी होगी:
from pdfrw import PdfReader
pdf = pPdfReader(entry.document.file.path)
Story.append(pdf)
और संलग्न मौजूदा कहानी सूची में पीडीएफ, अंतिम दस्तावेज़ की पीढ़ी में शामिल किए जाने के रूप में उपरोक्त।
किसी के पास कोई विचार है? मैं pagexobj का उपयोग कर पीडीएफ बनाने के लिए, इस उदाहरण का अनुसरण करने की कोशिश कर कुछ इसी तरह की कोशिश की:
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))
लेकिन किसी भी भाग्य या तो नहीं था। क्या कोई मुझे मौजूदा पीडीएफ फ़ाइल को एक रिपोर्टलैब प्रवाह योग्य में विलय करने का सबसे अच्छा तरीका बता सकता है? मैं इस सामान के साथ अच्छा नहीं हूं और अब दिनों के लिए पीडीएफ-पीढ़ी पर अपने सिर को टक्कर लगी हूं। :) किसी भी दिशा की सराहना की!
मुझे लगता है कि आप ReportLab के भुगतान संस्करण के साथ ऐसा कर सकते हैं। –
उह, मुझे नहीं लगता कि ReportLab का भुगतान संस्करण मेरे लिए एक विकल्प है, दुर्भाग्य से। :(किसी के पास कोई विकल्प है? – kyleturner