7 Stimmen

Wie öffnet man eine generierte PDF-Datei im Browser?

Ich habe eine Pdf-Zusammenführung geschrieben, die eine Originaldatei mit einem Wasserzeichen zusammenführt.

Was ich jetzt tun möchte, ist, die Datei "document-output.pdf" im Browser über eine Django-Ansicht zu öffnen. Ich habe bereits Djangos verwandte Artikel überprüft, aber da mein Ansatz relativ anders ist, erstelle ich das PDF-Objekt nicht direkt, sondern verwende das Antwortobjekt als "Datei", also bin ich irgendwie verloren.

Also, wie kann ich tun, ist in einer Django-Ansicht?

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()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X