Chrome 또는 Chromium을 사용하여 명령줄에서 인쇄하여 PDF로 저장하는 방법

Chrome 또는 Chromium을 사용하여 명령줄에서 인쇄하여 PDF로 저장하는 방법

Chrome 또는 Chromium을 사용하여 명령줄에서 "PDF로 저장" 대상으로 인쇄할 수 있습니까? Chrome에 내장된 기능을 사용하여 html 파일을 PDF로 자동 변환하고 싶습니다.

답변1

전체 웹 브라우저를 호출하는 대신 HTML 렌더링 엔진을 작업 수행에만 사용하는 것은 어떨까요? 사용wkhtmltopdf변환을 수행합니다.

wktohtml

기존 웹사이트를 PDF로 변환할 수도 있습니다

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

참고: 기술적으로 Google Chrome의 렌더링 엔진은 Webkit의 포크인 Blink입니다. 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(크롬 버전)\file1.pdf"

답변4

저는 Chrome{,ium} 헤드리스용 래퍼 스크립트를 작성했습니다.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

관련 정보