Я использую htmldoc какое-то время, но я столкнулся с некоторыми довольно серьезными ограничениями. Мне нужно конечное решение для работы с ящиком Linux. Я буду называть эту библиотеку/утилиту/приложение из приложения Perl, поэтому любые интерфейсы Perl будут бонусом.Как я могу автоматизировать преобразования HTML-to-PDF?
ответ
PrinceXML - это лучшее, что я видел (он анализирует обычный HTML, а также XML/XHTML). Как это лучше? Well, it passes the acid2 test который я думал, был довольно впечатляющим
Это, однако, довольно дорого
Это было бы общее излишеством, но вы можете скачать и установить mirth. Это механизм маршрутизации сообщений, но он имеет возможность конвертировать html в pdf, поэтому вы можете настроить его для поиска html-файла в папке, конвертировать в PDF-файл и удалить PDF-файл в той же или другой папке. Как я уже сказал, overkill, немного кривой обучения, но это бесплатно, и Java, чтобы вы могли запускать его на Linux, если хотите. И все ваше приложение perl должно было бы сделать, это удалить html в файл.
Я сделал несколько поисковых запросов для вас и придумал два варианта. Может быть и больше, моя стратегия Google заключалась в том, чтобы попробовать «webkit command-line pdf» и «gecko command-line pdf», в основном ищущие программы командной строки, которые встраивают два популярных механизма рендеринга с открытым исходным кодом в средства рендеринга командной строки. Вот что я нашел:
Firefox command-line printer - выводит в формате PDF и PNG
wkpdf - в то время как это для макинтош, это, вероятно, довольно портативными.
К сожалению, чтобы раскопать этот старый пост, но он вышел первый в моем поиске лучшего инструмента преобразования HTML/PDF. В Linux wkhtmltopdf очень хорошо (учитывается, в частности, CSS) и GPL.
Чтобы поддержать вашу точку, 1) работает как шарм 2) использует движок рендеринга webkit, а qt означает, что он может извлечь выгоду из обновлений. Хотя последний RC был выпущен в феврале 2011 года. – kommradHomer 2013-04-11 13:16:52
Возможно, вы захотите проверить «Службу конвертации документов» от Peernet (по адресу http://www.peernet.com/conversion-software/batch-document-converter/). Это выполняется как служба на компьютере Windows Desktop или Windows Server. Он открывает HTML-документы в веб-браузере, затем распечатывает их через драйвер печати для создания документов PDF, так что созданный документ PDF выглядит так, как если бы вы напечатали документ HTML из браузера.
Вы должны взглянуть на http://phantomjs.org/
преобразование может быть сделано с помощью небольшого скрипта rasterize.js, а затем выдавать
phantomjs rasterize.js 'http://en.wikipedia.org/w/index.php?title=Jakarta&printable=yes' jakarta.pdf
WeasyPrint производит красивые PDF-файлы с возможностью выбора текста и гиперссылок.
weasyprint input.html output.pdf
Если вы используете wkhtmltopdf
вместо этого, попробуйте следующие варианты:
wkhtmltopdf --margin-bottom 20mm --margin-top 20mm --minimum-font-size 16 ...
Там это новый обезглавленное режим, так как Chrome 59. Как и все другие решения действительно бороться с более новой (или не так ново больше) CSS-функции, такие как flexbox, это было в моем случае единственным решением для создания правильного вывода PDF.
Чтобы создать pdf-файл из локального файла html, используйте только следующую команду: chrome --headless --disable-gpu --print-to-pdf file:///path/to/myfile.html
.
Для замены ОС Mac chrome
с /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
.
Единственный недостаток, который я заметил до сих пор, заключается в том, что (в настоящее время) вы не можете передать html через stdin, но создание временного файла не так уж и важно.
Для получения дополнительной информации см https://developers.google.com/web/updates/2017/04/headless-chrome#create_a_pdf_dom
Update: Как выясняется, хромовые ребята, скорее всего, обеспечить некоторый вид узловой модуля для решения этой задачи, которая в конечном счете принизить обезглавленный режим (https://bugs.chromium.org/p/chromium/issues/detail?id=719921).
Лучше всего было бы использовать подход, основанный узел с помощью модуля кукловода , как документированные под https://developers.google.com/web/updates/2017/04/headless-chrome#node и распечатать страницу с помощью команды Page.printToPDF, что позволяет некоторые дополнительные настройки тоже.
Конечно, вы можете подключиться к веб-сайту консоли отладки из любой другой среды, кроме узла (например, PHP-скрипта).
- 1. Как я могу автоматизировать викторину?
- 2. Могу ли я автоматизировать pppoeconf?
- 3. Могу ли я автоматизировать onchange?
- 4. Как я могу автоматизировать эту последовательность светофора?
- 5. Как я могу автоматизировать Winforms в .NET?
- 6. Как я могу автоматизировать установку/скрипт Perl
- 7. Как я могу автоматизировать мой код?
- 8. Как я могу автоматизировать «развертывание firebase»?
- 9. Как я могу автоматизировать ведение журнала
- 10. Как я могу автоматизировать задачи в Xcode?
- 11. Как я могу автоматизировать этот скрипт VB?
- 12. Как я могу автоматизировать этот процесс?
- 13. Как я могу автоматизировать этот исполняемый файл?
- 14. Как я могу автоматизировать упаковку WiX
- 15. Как я могу автоматизировать кнопки переключателей?
- 16. Как я могу автоматизировать процесс сборки CSS?
- 17. Как я могу автоматизировать свой компьютер?
- 18. Могу ли я автоматизировать кодировку mp3 Nero?
- 19. Как я могу автоматизировать генерацию кода t4 для SubSonic
- 20. EO HtmlToPdf StartStation несколько столбцов
- 21. Могу ли я автоматизировать задачу в эскизе?
- 22. Каким образом я могу автоматизировать свой дом?
- 23. Могу ли я автоматизировать SoapUI с C#?
- 24. Как я могу настроить преобразования Pandoc?
- 25. Как я могу использовать сужение преобразования?
- 26. Как я могу сделать изменения палки преобразования?
- 27. Как я могу автоматизировать анализ матриц, хранящихся в файле мата?
- 28. Как я могу автоматизировать процесс установки и удаления компонента joomla?
- 29. Как я могу автоматизировать цепочку последовательных запросов ajax?
- 30. Как я могу автоматизировать проверку портов Telnet в Powershell? `
У меня была такая же проблема. Недавно я оценил принт-XML и могу поручиться за то, что он является СЕРЬЕЗНО-удивительным приложением. Скорость и качество выхода просто невероятны. – cletus 2009-01-13 01:41:39
Зачем платить много тысяч долларов, когда доступно бесплатное программное обеспечение с открытым исходным кодом, которое также проходит тест Acid 2? http://weasyprint.readthedocs.io WeasyPrint настоятельно рекомендуется. Феноменальные результаты. – FlorianB 2016-07-09 22:51:34