Найти - Пользователи
Полная версия: Импорт HTML в PDF
Начало » Python для новичков » Импорт HTML в PDF
1
mister
Всем здравстауйте!
ВСЕХ С НАСТУПИВШИМИ ПРАЗДНИКАМИ С НОВЫМ 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()

В результате имею следующее: ошибок нет, файл html.pdf создается, но пустой.

Куда копать, что не так?
Заранее благодарен всем за помощь!
terabayt
from xhtml2pdf import pisa
html = '<h1>Hello!!</h1>'
result = pisa.CreatePDF(html, file('html.pdf', 'w'))
result.dest.close()
вот, у меня работает
я так и не понял почему у вас было xhtml
result = pisa.CreatePDF(xhtml, file('html.pdf', 'w'))
mister
terabayt
я так и не понял почему у вас было xhtml
Это опечатка! Исправил!
terabayt
вот файл
давайте весь код, может там что-то
mister
terabayt
давайте весь код, может там что-то
А собственно это и есть весь код. Начал пробовать на самом бональном примере.
botinag
Была необходимость прикрутить к проекту на джанго генерацию pdf. В начале тоже остановил свой выбор на xhtml2pdf, но на практике генерация большего количества страниц (>100) занимала ощутимое время + нелучшая работа со стилями (список поддерживаемых довольно ограничен).
Для меня решением стало использование wkhtmltopdf. Относительно писы генерирует pdf просто реактивно, да и страницы получаются куда более близкие к оригинальному html. Рекомендую.
mister
botinag
Рекомендую.
Спасибо! Попробую!
mister
Всем снова здравствуйте!

В общем победил я xhtml2pdf сейчас pdf генерится! Все отлично, но вот с русскими символами “беда” - за место букв квадраты, пробовал подключать в html-е шрифты через стили, но ничего не получилось.

Может кто пробовал?
alex925
mister
пробовал подключать в html-е шрифты через стили, но ничего не получилось.
Дело точно не в шрифтах, более чем уверен, что проблема с кодировками.
В html явно указано в какой кодировке страница?
mister
Да, конечно, указывал!
Вот последний код, без стилей, с указанием кодировки 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()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB