2016-10-20 5 views

ответ

2

make_response Используйте для создания ответа с выходом PDF данных в виде строки (dest='S'). Encode the output as latin-1, в противном случае флажок будет кодировать его как UTF-8, и это может быть неверно. Установите заголовки Content-Disposition и Content-Type, чтобы сообщить обозревателю, что требуется загрузить/обработать файл PDF. Верните построенный ответ.

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 

В этом примере предполагается, что изображения находятся в папке экземпляра, при необходимости измените, чтобы указать, где находятся изображения.

+0

Спасибо, но как я укажу свое изображение, которое загружено в Blobstore – user3891081

+0

на самом деле google-приложение не позволяет загружать изображение в папку temp, мы должны сначала загрузить его в blobstore, вот почему я спрашиваю, как я могу конвертировать изображение (хранится в blobstore) в pdf .пожалуйста, помогите мне – user3891081