
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.
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