Назад | Перейти на главную страницу

Разумное автоматическое преобразование HTML в PDF (в среде UNIX / Linux)

Есть ли способ автоматически генерировать PDF-документы из HTML-файлов в Linux, где PDF-файл предлагает некоторый разумный уровень сходства с входным файлом?

Инструмент командной строки - в отличие от какого-либо интерактивного графического интерфейса - является ключевым.

я пытался htmldoc и, конечно, родственные кузены. Но эти инструменты безнадежно каменного века; htmldoc вообще не поддерживает CSS. В наши дни вы не найдете много HTML-документов, в которых нет хотя бы некоторые CSS-стили. Меня не особо волнуют глупые эффекты или мелкие украшения, но проблема в том, что CSS сейчас лежит в основе большинства макетов; немногие люди уже используют 6 уровней вложенных таблиц. Итак, если инструмент преобразования вообще не разбирается в CSS, дело не только в том, что «документ выглядит не совсем правильно»; скорее всего, он вообще не будет соответствовать минимальным стандартам удобства использования.

Некоторые люди предложили мне попробовать использовать механизм рендеринга Gecko для создания изображений, которые можно преобразовать в PDF-файлы, но я понятия не имею, как это сделать, не говоря уже о том, чтобы легко.

У меня нет проблем с верой в то, что есть хорошие коммерческие инструменты, которые делают это, но я действительно ищу пакет с открытым исходным кодом, если это возможно, так как само предприятие является открытым и не окупается.

Заранее спасибо!

Ты видел wkhtmltopdf? Не могу сказать, насколько хорошо это работает лично, но, похоже, именно то, что вам нужно. Единственная проблема может заключаться в том, что с этим и любыми решениями для «автоматизации браузера» он будет выбирать таблицу стилей печати, а не экранную, поэтому PDF-файл может быть не совсем тем, что вы видите на экране.

XHTML2PDF - это набор инструментов Python, который включает в себя как сценарии командной строки, так и библиотеку Python (если вы хотите встроить это во что-то большее, не обращаясь к сценарию). Он поддерживает HTML / XHTML и CSS, с дополнительными стилями CSS, специфичными для поставщика, для настройки форматированный вывод (например, номера страниц, последовательность абзацев и т. д.)

Я использовал его совсем немного для пакетной обработки нескольких HTML-документов, но он работал нормально, и его набор функций кажется мне всеобъемлющим. Руководство скрыто на демонстрационной странице, но само по себе является хорошим примером преобразования документа HTML в PDF.

У меня был хороший набор ссылок на примеры «до» и «после», но я только что создал свою учетную запись, и, по-видимому, только спамеры помещают более одной ссылки в свой первый пост :-p

Попробуйте chm2pdf с python-beautifulsoup.

Я хотел сгенерировать PNG из HTML-страниц из командной строки. Где-то я нашел этот рубиновый скрипт который использует мозембед для создания снимка экрана. Вы можете удалить масштабную линию, если не хотите, чтобы она масштабировалась.

Единственная проблема, которую я вижу, это то, что страница действительно появляется на экране на мгновение ...

попробуйте dompdf, он отлично работает из командной строки, и на его примерах он работает с любым типом html

PrinceXML. Прекрасно справляется с CSS. Доступны версии для Linux, Windows, Mac OS X. AFAICS, это также технология, лежащая в основе вывода PDF-файлов Google Docs. Но учтите: это платное ПО.