मैंने एक पीडीएफ विलय लिखा है जो एक वॉटरमार्क के साथ एक मूल फ़ाइल विलय करता है।ब्राउज़र में जेनरेट की गई पीडीएफ फाइल कैसे खोलें?
अब मैं क्या करना चाहता हूं, ब्राउज़र में 'दस्तावेज़-आउटपुट.pdf' फ़ाइल को Django व्यू द्वारा खोलना है। मैंने पहले से ही Django के संबंधित लेखों की जांच की है, लेकिन चूंकि मेरा दृष्टिकोण अपेक्षाकृत अलग है, इसलिए मैं प्रतिक्रिया ऑब्जेक्ट का उपयोग अपनी "फ़ाइल" के रूप में सीधे पीडीएफ ऑब्जेक्ट नहीं बनाता, इसलिए मैं खो गया हूं।
तो, मैं Django व्यू में कैसे कर सकता हूं?
from pyPdf import PdfFileWriter, PdfFileReader
from reportlab.pdfgen.canvas import Canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
output = PdfFileWriter()
input = PdfFileReader(file('file.pdf', 'rb'))
# get number of pages
num_pages = input.getNumPages()
# register new chinese font
pdfmetrics.registerFont(TTFont('chinese_font','/usr/share/fonts/truetype/mac/LiHeiPro.ttf'))
# generate watermark on the fly
pdf = Canvas("watermark.pdf")
pdf.setFont("chinese_font", 12)
pdf.setStrokeColorRGB(0.5, 1, 0)
pdf.drawString(10, 830, "你好")
pdf.save()
# put on watermark
watermark = PdfFileReader(file('watermark.pdf', 'rb'))
page1 = input.getPage(0)
page1.mergePage(watermark.getPage(0))
# add processed pdf page
output.addPage(page1)
# then, add rest of pages
for num in range(1, num_pages):
output.addPage(input.getPage(num))
outputStream = file("document-output.pdf", "wb")
output.write(outputStream)
outputStream.close()
हाँ, मुझे पता है के साथ इस लाइन से 'लगाव'। असल में मैं यही पूछ रहा हूं :) एचटीपीआरस्पॉन्स ऑब्जेक्ट में पीडीएफ सामग्री कैसे भेजें क्योंकि यह ब्राउज़र में खुल जाएगा, न कि अटैचमेंट के रूप में। – israkir
@israkir: मेरा उत्तर अपडेट किया गया। ऊपर देखो। –