Verwenden make_response
eine Antwort mit der PDF-Datenausgabe als Zeichenkette (dest='S'
) zu erstellen. Encode the output as latin-1, sonst codiert Flask es als UTF-8 und es ist möglicherweise nicht gültig. Stellen Sie die Header Content-Disposition
und Content-Type
so ein, dass der Browser eine PDF-Datei herunterladen/verarbeiten muss. Gebe die konstruierte Antwort zurück.
from flask import make_response
@app.route('/jpg_to_pdf/<name>')
def jpg_to_pdf(name):
pdf = FPDF()
pdf.add_page()
pdf.image(os.path.join(app.instance_path, name + '.jpg'), 50, 50)
response = make_response(pdf.output(dest='S').encode('latin-1'))
response.headers.set('Content-Disposition', 'attachment', filename=name + '.pdf')
response.headers.set('Content-Type', 'application/pdf')
return response
Dieses Beispiel nimmt die Bilder im Ordner Instanz sind, zu ändern, wie notwendig, um Punkt zu, wo die Bilder tatsächlich sind.
Danke, aber wie werde ich mein Bild zeigen, das in Blobstore hochgeladen wird – user3891081
tatsächlich Google App Engine nicht erlauben, Bild in Temp-Ordner hochladen, müssen wir es in Blobstore zuerst hochladen, das ist, warum ich frage, wie werde ich Bild konvertieren (in Blobstore gespeichert) zu pdf. bitte helfen Sie mir – user3891081