Разумное автоматическое преобразование HTML в PDF (в среде UNIX/Linux)
Есть ли способ автоматически генерировать PDF-документы из HTML-файлов в Linux, где PDF предлагает некоторый разумный уровень сходства с исходным файлом?
Инструмент командной строки - в отличие от некоторого интерактивного графического интерфейса - является ключевым.
я пытался htmldoc
и некоторые родственники, конечно. Но эти инструменты безнадежно каменного века; htmldoc
вообще не поддерживает CSS В наши дни вы не найдете много HTML-документов, в которых нет хотя бы некоторых стилей CSS. На самом деле меня не волнуют глупые эффекты или мелкие украшения, но проблема в том, что CSS является основой большинства макетов в наши дни; не многие люди используют 6 слоев вложенных таблиц больше. Таким образом, если инструмент преобразования вообще не разбирается в CSS, дело не только в том, что "документ выглядит не совсем правильно"; скорее всего, он вообще не соответствует минимальному стандарту юзабилити.
Некоторые люди предлагали мне использовать движок рендеринга Gecko для создания изображений, которые можно конвертировать в PDF, но я понятия не имею, как это сделать, не говоря уже о том, что это легко.
У меня нет проблем с верой в то, что есть хорошие коммерческие инструменты, которые делают это, но я действительно ищу пакет с открытым исходным кодом, если это возможно, так как сам процесс является открытым и не платит.
Заранее спасибо!
6 ответов
Вы видели wkhtmltopdf? Не могу сказать, насколько хорошо это работает лично, но кажется, что именно то, что вам нужно. Единственная проблема может заключаться в том, что с этим и любыми решениями "автоматизации браузера" он будет использовать таблицу стилей печати, а не экранную, поэтому PDF может быть не совсем тем, что вы видите на экране.
XHTML2PDF - это набор инструментов Python, который включает в себя как скрипты командной строки, так и библиотеку Python (если вы хотите встроить это в нечто большее, не выделяя сценарий.) Он поддерживает HTML/XHTML и CSS, с дополнительными стилями CSS, специфичными для поставщика. настроить форматированный вывод (например, номера страниц, поток абзацев и т. д.)
Я лишь немного использовал его для пакетной обработки нескольких документов HTML, но он работал нормально, и его набор функций кажется мне всеобъемлющим. Руководство скрыто на демонстрационной странице, но само по себе является хорошим примером преобразования HTML-документа в PDF.
У меня был хороший набор ссылок на примеры "до" и "после", но я только что создал свою учетную запись, и, видимо, только спамеры разместили более одной ссылки в своем первом посте:-p
Я хотел сгенерировать PNG из HTML-страниц из командной строки. Где-то я нашел этот скрипт ruby, который использует mozembed для создания скриншота. Вы можете удалить линию шкалы, если вы не хотите, чтобы она масштабировалась.
Единственная проблема, которую я вижу, состоит в том, что страница действительно появляется на экране на мгновение...
Попробуйте dompdf, он отлично работает из командной строки де и на своих примерах он работает с любым видом HTML
PrinceXML. Может справиться с CSS просто отлично. Доступны версии для Linux, Windows, Mac OS X. AFAICS, это также технология вывода PDF из Google Документов. Но обратите внимание: это платное ПО.