Форум сайта python.su
0
Всем здравстауйте!
ВСЕХ С НАСТУПИВШИМИ ПРАЗДНИКАМИ С НОВЫМ 2015 ГОДОМ и РОЖДЕСТВОМ!
Прошу оказать небольшую консультацию в решении задачи.
Дано: Python 2.7, полученная из интернета html-ка, необходимо ее сохранить в pdf-файл, предварительно немно приведя ее к определенному виду.
Собственно для получения html и трансформации внужный вид проблем особых не составило. Было решено взять httplib + lxml соответственно. Но вот с сохранением результата трансформации возникли сложности.
Выбрал xhtml2pdf:
from xhtml2pdf import pisa html = '<h1>Hello!!</h1>' result = pisa.CreatePDF(html, file('html.pdf', 'w')) result.dest.close()
Отредактировано mister (Янв. 7, 2015 20:36:09)
Офлайн
103
from xhtml2pdf import pisa html = '<h1>Hello!!</h1>' result = pisa.CreatePDF(html, file('html.pdf', 'w')) result.dest.close()
result = pisa.CreatePDF(xhtml, file('html.pdf', 'w'))
Офлайн
0
terabaytЭто опечатка! Исправил!
я так и не понял почему у вас было xhtml
Отредактировано mister (Янв. 7, 2015 20:37:10)
Офлайн
103
вот файл
давайте весь код, может там что-то
Офлайн
0
terabaytА собственно это и есть весь код. Начал пробовать на самом бональном примере.
давайте весь код, может там что-то
Офлайн
35
Была необходимость прикрутить к проекту на джанго генерацию pdf. В начале тоже остановил свой выбор на xhtml2pdf, но на практике генерация большего количества страниц (>100) занимала ощутимое время + нелучшая работа со стилями (список поддерживаемых довольно ограничен).
Для меня решением стало использование wkhtmltopdf. Относительно писы генерирует pdf просто реактивно, да и страницы получаются куда более близкие к оригинальному html. Рекомендую.
Офлайн
0
botinagСпасибо! Попробую!
Рекомендую.
Офлайн
0
Всем снова здравствуйте!
В общем победил я xhtml2pdf сейчас pdf генерится! Все отлично, но вот с русскими символами “беда” - за место букв квадраты, пробовал подключать в html-е шрифты через стили, но ничего не получилось.
Может кто пробовал?
Офлайн
14
misterДело точно не в шрифтах, более чем уверен, что проблема с кодировками.
пробовал подключать в html-е шрифты через стили, но ничего не получилось.
Офлайн
0
Да, конечно, указывал!
Вот последний код, без стилей, с указанием кодировки html-я:
from xhtml2pdf import pisa html = '''<html> <head> <META content="text/html; charset=utf-8" http-equiv="Content-Type"> </head> <body> <h1>Привет!!!</h1> </body> </html>''' pdf = pisa.CreatePDF(html, file('html.pdf', 'w'), encoding='utf-8') pdf.dest.close()
Офлайн