Конвертація html-файлів з сss-стилями потребує від програмного забезпечення наявності browser engine, який, власне, і повинен рендерити сторінку, а вже потім відправляти її на друк/конвертацію.
Друк html-сторінки засобами браузера google-chrome в headless режимі (як локального файлу так і url з мережі):
$ google-chrome --headless --print-to-pdf=file.pdf https://user:password@site.org/page.html
На момент написання статті (google-chrome v106 / ubuntu), під час друку не виконувалось перенесення рисунків на нові сторінки. Тобто один великий рисунок розділявся на частини, кожна з яких розміщувалась на власній сторінці в pdf
Дана програма для ренедеру html-сторінки використовує QT Webkit.
$ wkhtmltopdf --username "user" --password "password" https://site.org/page.htm file.pdf
$ sudo apt install pandoc texlive-xetex fonts-cmu
$ sudo apt-get install texlive-lang-all