So drucken Sie mit Chrome oder Chromium über eine Befehlszeile und speichern als PDF

So drucken Sie mit Chrome oder Chromium über eine Befehlszeile und speichern als PDF

Kann ich mit Chrome oder Chromium von einer Befehlszeile aus mit dem Ziel „Als PDF speichern“ drucken? Ich möchte HTML-Dateien mit der integrierten Funktion von Chrome automatisch in PDF konvertieren können.

Antwort1

Anstatt einen ganzen Webbrowser aufzurufen, warum nicht die HTML-Rendering-Engine nur für die Arbeit verwenden? Verwenden Siewkhtmltopdfum die Konvertierung durchzuführen.

wktohtml

Sie können auch eine vorhandene Website in PDF konvertieren

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

Hinweis: Technisch gesehen ist Blink die Rendering-Engine von Google Chrome, ein Fork von Webkit. Blink und Webkit haben >90 % gemeinsamen Code, Sie sollten also ein ähnliches Ergebnis erhalten.

Antwort2

Chrome hat begonnenkopflosProgramm.

Damit können wir ein PDF erstellen. Navigieren Sie beispielsweise für Windows in der Befehlszeile zu

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

Geben Sie dann den Befehl ein:

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

Antwort3

Sie müssen Google Chrome / Chromium 59 oder eine neuere Version verwendenund es ist nur für MAC OS- und Linux-Benutzer verfügbar.

*Windows-Nutzer müssen noch etwas auf die Version 60 warten*

Befehl :

$ 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/

Referenz : https://developers.google.com/web/updates/2017/04/headless-chrome

BEARBEITEN :Google Chrome/Chromium 60 wurde für Windows-Benutzer eingeführt.

Befehlsverwendung in CMD:

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

Ihre PDF-Dateibenennungdatei1.pdfwird gespeichert in

"C:\Programme oder (x86)\Google\Chrome\Application\60.0.3112.113 (Chrome-Version)\file1.pdf"

Antwort4

Ich habe ein kleines Wrapper-Skript für Chrome{,ium} Headless geschrieben, genannthtml2pdf.
Ghostscript ist vorhanden, um die Dateigröße zu reduzieren und einen Seitenbereich auszuwählen:

#!/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"

Anwendungsbeispiel:

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

verwandte Informationen