Комментарии 28
chrome --headless --disable-gpu --print-to-pdf google.com
по моему ничего не происходит…
по крайней мере обнаружить output.pdf не удалось… (
А где ищите?
~/$cd tett/
~/tett$google-chrome --headless --disable-gpu --print-to-pdf google.com
[0814/092158.306472:INFO:headless_shell.cc(572)] Written to file output.pdf.
[0814/092158.313610:ERROR:browser_process_sub_thread.cc(203)] Waited 3 ms for network service
:~/tett$ ls
output.pdf
developers.google.com/web/updates/2017/04/headless-chrome
После --print-to-pdf надо добавить =имя файла и все.
--print-to-pdf=out.pdf
Покажите вывод командной строки, код возврата вызова Chrome (в линуксе сразу после вызова chrome запустите эту команду `echo $?`) и содержимое директории в которой запускался Chrome.
chrome --headless --disable-gpu --print-to-pdf google.com
echo $?
ls -l
Главный недостаток при рендеринге браузерами пдф: они не поддерживают CSS свойства для хедеров, футеров и т. п. При работе с хромом по chrome devtools protocol (наиболее известная имплементация -puppeteer) есть ограниченная возможность управлять ими, в частности нумерация страниц, какие-то статические (или из title документа) повторяющиеся (для хедера первой страницы можно хак сделать, чтобы убрать или сделать специфичный) хедеры/футеры в том числе с логотипами (получилось только c base64 url). Чем-то напоминает вёрстку писем попытка их сверстать.
Кстати, page { size: A4;} нормально в хроме работает только как глобальный стиль, селекторы типа left/right сводят его с ума :)
Это то же самое, насколько я вижу
www.npmjs.com/package/xml2js по определённым причинам не подходит.
Напечатал себе Вашу статью в PDF описанным методом. В качестве теста, ну и чтобы копия была. Спасибо!
Использование бесплатного пользовательского продукта могут привести и к неудобствам, например, в виде внезапных изменений после обновления браузера, из-за которых немного изменится рендеринг или что-то ещё. Браузер для тестирования в проекте вы обновляете до последней версии и это нормально, а вот инструмент для генерации pdf нет нужды трогать без необходимости, пока pdf нормально генерируется.
В общем, есть пара принципиальных проблем.
create a derivative work
Про это? Тут вопрос, является ли подобная либа/сервис производным или составным продуктом или не является. Имхо, скорее нет, чем да.
Использование Chromium с открытыми исходниками не решает проблемы — в нем уже находили жучки от Google.
Можно пруфы?
Разбираем возможности конвертирования HTML в PDF браузером Google Chrome