LINUX.ORG.RU

html → pdf


1

1

Нужно получить из html файла pdf.

С поддержкой css свойств типа page-break-inside (чтоб не разрывало где не следует) и различными колонтитулами ('стр 1 из 99' и тд). И просто с нормальной поддержкой html вообще и русского языка в нём в частности.

Пока единственный заработавший вариант — печать в файл из firefox. Получается хорошо, но непонятно, как автоматизировать процесс.

А как ещё можно конвертировать?

★★

Ответ на: комментарий от Gotf

Есть webkit2pdf, вроде ещё что-то такое было.

Попробовал несколько таких утилит, пока ни одна не подошла.

webkit2pdf игнорирует 'page-break-inside: avoid;'. Более того, может разрезать строку пополам. Верхняя часть буквы на этой странице, нижняя на следующей. Это уже незачёт. Плюс колонтитулов там нет.

fffgh ★★
() автор топика

htmldoc

только там заморочка была с кириллическими шрифтами, но не смертельно

shrub ★★★★★
()
Ответ на: комментарий от anonymous

xhtml2pdf (python)

python-pisa в ubuntu. Не осиливает русский. Видимо, потому, что питон там второй.

fffgh ★★
() автор топика
Ответ на: комментарий от fffgh

Примерно так:

<?php
// локальный файл
exec('xvfb-run python3 html2pdf.py file:///tmp/in.html /tmp/out.pdf');
// или URL
exec('xvfb-run python3 html2pdf.py https://linux.org.ru /tmp/lor.pdf');
?>

Deathstalker ★★★★★
()
Ответ на: комментарий от Deathstalker

xvfb-run python3 html2pdf.py file:///tmp/in.html /tmp/out.pdf

Т.е. конвертировать будет html2pdf.py. А xvfb-run зачем, чтобы иксы не запускать?

fffgh ★★
() автор топика

Вон аноним в другом треде написал:
Mercury 14.01 (комментарий)

Только там система, платная для коммерческого использования. Бесплатная версия добавляет логотип на генерируемые страницы. Полная лицензия от 495$.

proud_anon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.