Ответ 1
PDFium (и PDF.js) просто PDF Viewers, вы не можете конвертировать HTML в PDF с ними.
Фактическое создание PDF в Chrome выполняется с помощью компонента печати, используя Blink (механизм рендеринга) и Skia (графический стек). Будет предпринята попытка отделить функциональность печати от пользовательского интерфейса печати, чтобы сторонние проекты могли использовать функции печати (crbug.com/311308), но он все еще не работает.
Chrome 59 и вверх можно использовать для преобразования HTML в PDF с помощью флага --print-to-pdf
. См. crbug.com/603559 для самой конкретной функции и https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md для документации о безголовом Хром вообще. В этом примере загружается example.com и выводится результат в `path/to/file.pdf.
chrome --headless --print-to-pdf=path/to/file.pdf https://example.com
Если вы хотите узнать, как использовать встроенный встроенный PDF-генератор Chrome в JavaScript, выполните следующий вопрос (на который еще не ответили): Программный код Javascript: "Сохранить как PDF" в диалоговом окне Chrome.