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


16

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

Інструмент командного рядка - на відміну від інтерактивного графічного інтерфейсу - є ключовим.

Я спробував htmldocі деяких родичів, звичайно. Але ці інструменти безнадійно кам'яні; htmldocне підтримує CSS взагалі. Ці дні ви не знайдете багато документів HTML, які не мають принаймні деяких стилів CSS. Мені не дуже важливо дурних ефектів або незначних прикрас, але проблема полягає в тому, що CSS лежить в основі більшості макетів сьогодні; не багато людей вже використовують 6 шарів вкладених таблиць. Отже, якщо інструмент перетворення взагалі не має розуміння CSS, це не лише питання "документ виглядає не зовсім правильно"; вона, ймовірно, зовсім не відповідає мінімальному стандарту зручності використання.

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

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

Спасибі заздалегідь!

Відповіді:


7

Ви бачили wkhtmltopdf ? Не можу сказати, наскільки добре це працює особисто, але здається, саме те, що вам потрібно. З цим і будь-якими рішеннями для автоматизації браузера може виникнути проблема лише в тому, що він підбере таблицю стилів друку, а не екранну, щоб PDF не був саме таким, який ви бачите на екрані.


Що таке таблиця стилів друку? Я маю бути не в контакті з останніми та найкращими новинками із всесвіту CSS.
Олексій Балашов

Це нічого нового, він просто став практичним для більшості веб-сайтів, тільки коли вони перейшли на CSS для компонування замість таблиць. Спробуйте alistapart.com/articles/goingtoprint або webcredible.co.uk/user-friendly-resources/css/… для ознайомлення.
robertc


2

XHTML2PDF - це набір інструментів Python, що включає в себе як сценарії командного рядка, так і бібліотеку Python (якщо ви хочете вставити це в щось більше, не обробляючи сценарій.) налаштувати відформатований вихід (наприклад, номери сторінок, потік абзацу тощо)

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

Я мав приємний набір посилань на приклади "до" та "після", але я просто створив свій обліковий запис, і, мабуть, лише спамери розмістили більше одного посилання у своєму першому дописі :-p


1

Я хотів створити PNG із HTML-сторінок із командного рядка. Десь я знайшов цей рубіновий сценарій, який використовує mozembed для створення екрана. Ви можете видалити лінію масштабу, якщо не хочете, щоб її масштабували.

Єдина проблема, яку я бачу, це те, що сторінка насправді на мить з’являється на екрані ...


Гм, так. Остання частина, здається, трохи вбивця. Це потрібно запустити в серверний сервер із суто сервера; немає головки дисплея чи нічого. Будь-який спосіб досягти цього?
Олексій Балашов

0

спробуйте dompdf, він прекрасно працює з командного рядка de, і за його прикладами він працює з будь-яким HTML-формою


0

PrinceXML. Може працювати з CSS просто чудово. Доступні версії Linux, Windows, Mac OS X. AFAICS, це також технологія, що стоїть за вихідними документами Google Документів Google. Але зверніть увагу: це корисна програма.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.