Как распечатать и сохранить в формате PDF из командной строки с помощью Chrome или Chromium

Как распечатать и сохранить в формате PDF из командной строки с помощью Chrome или Chromium

Могу ли я печатать в место назначения "Сохранить как PDF" из командной строки с Chrome или Chromium? Я хотел бы иметь возможность автоматически конвертировать файлы html в PDF с помощью встроенной функции Chrome.

решение1

Вместо того, чтобы вызывать целый веб-браузер, почему бы не использовать только движок рендеринга HTML для выполнения работы?wkhtmltopdfдля выполнения преобразования.

wktohtml

Вы также можете конвертировать существующий веб-сайт в PDF

$ wkhtmltopdf http://google.com google.pdf

Примечание: технически движок рендеринга Google Chrome — это Blink, который является ответвлением Webkit. У Blink и Webkit >90% общего кода, поэтому вы должны получить похожий результат.

решение2

Хром запустилсяОбезглавленныйпрограмма.

С помощью этого мы можем создать PDF-файл. Например, для Windows перейдите в командной строке к

C:\Users\{{your_username}}\AppData\Local\Google\Chrome SxS\Application>

Затем нажмите команду:

chrome --headless --print-to-pdf="d:\\{{path and file name}}.pdf" https://google.com

решение3

Вы должны использовать Google Chrome / Chromium 59 или более позднюю версию.и он доступен только для пользователей MAC OS и Linux.

*Пользователям Windows придется подождать некоторое время до версии 60.*

Команда:

$ google-chrome --headless --disable-gpu --print-to-pdf=file1.pdf http://www.example.com/

$ chromium-browser --headless --disable-gpu --print-to-pdf=file1.pdf http://www.example.com/

Ссылка : https://developers.google.com/web/updates/2017/04/headless-chrome

РЕДАКТИРОВАТЬ :Google Chrome / Chromium 60 выпущен для пользователей Windows.

Использование команд в CMD:

C:\Program Files\Google\Chrome\Application> chrome.exe --headless --disable-gpu --print-to-pdf=file1.pdf http://www.example.com/

Наименование вашего файла PDFфайл1.pdfбудет сохранен в

"C:\Program Files или (x86)\Google\Chrome\Application\60.0.3112.113 (версия chrome)\file1.pdf"

решение4

Я написал небольшой скрипт-обертку для Chrome{,ium} headless, который называетсяhtml2pdf.
Ghostscript позволяет уменьшить размер файла и выбрать диапазон страниц:

#!/bin/sh -eu
in=$1 out=$2 page0=${3:-} page1=${4:-$page0}
${CHROME:-chromium} --headless --disable-gpu \
    --run-all-compositor-stages-before-draw --print-to-pdf-no-header \
    --print-to-pdf="$out" "$in"
GS_ARGS=
if [ -n "$page0" ]; then
        GS_ARGS="-dFirstPage=$page0 -dLastPage=$page1"
fi
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH $GS_ARGS -sOutputFile="$2.tmp" "$2"
mv "$2.tmp" "$2"

Пример использования:

html2pdf https://ucm.dev/resume.html ucm.pdf 1

Связанный контент