Я хочу сгенерировать pdf-файл из html, используя Python + Flask. Для этого я использую xhtml2pdf. Вот мой код:
def main():
pdf = StringIO()
pdf = create_pdf(render_template('cvTemplate.html', user=user))
pdf_out = pdf.getvalue()
response = make_response(pdf_out)
return response
def create_pdf(pdf_data):
pdf = StringIO()
pisa.CreatePDF(StringIO(pdf_data.encode('utf-8')), pdf)
return pdf
В этом коде файл генерируется на лету. НО! xhtml2pdf не поддерживает многие стили в CSS из-за этой большой проблемы с правильной разметкой страницы. Я нашел другой инструмент (wkhtmltopdf). Но когда я написал что-то вроде:
pdf = StringIO()
data = render_template('cvTemplate1.html', user=user)
WKhtmlToPdf(data.encode('utf-8'), pdf)
return pdf
Была поднята ошибка:
AttributeError: 'cStringIO.StringO' object has no attribute 'rfind'
И мой вопрос: как преобразовать html в pdf с помощью wkhtmltopdf (с созданием файла на лету) в Flask?
Заранее спасибо за ваши ответы.