Kann ich mit Chrome oder Chromium über eine Befehlszeile an das Ziel "Als PDF speichern" drucken? Ich möchte in der Lage sein, HTML-Dateien mit der in Chrome integrierten Funktionalität automatisch in PDF umzuwandeln.
Kann ich mit Chrome oder Chromium über eine Befehlszeile an das Ziel "Als PDF speichern" drucken? Ich möchte in der Lage sein, HTML-Dateien mit der in Chrome integrierten Funktionalität automatisch in PDF umzuwandeln.
Antworten:
Verwenden Sie die HTML-Rendering-Engine nicht, um einen kompletten Webbrowser aufzurufen, sondern nur, um die Arbeit zu erledigen. Verwenden Sie wkhtmltopdf , um die Konvertierung durchzuführen.
Sie können auch eine vorhandene Website in PDF konvertieren
$ wkhtmltopdf http://google.com google.pdf
Hinweis: Technisch gesehen ist das Rendering-Modul von Google Chrome Blink, eine Abzweigung von Webkit. Zwischen Blink und Webkit gibt es> 90% des gemeinsamen Codes, daher sollten Sie ein ähnliches Ergebnis erzielen.
Chrome hat das Headless- Programm gestartet .
Damit können wir ein PDF erstellen. zB für Windows navigieren Sie in Ihrer Kommandozeile zu
C:\Users\{{your_username}}\AppData\Local\Google\Chrome SxS\Application>
Dann drücke den Befehl:
chrome --headless --print-to-pdf="d:\\{{path and file name}}.pdf" https://google.com
--user-data-dir="C:\Users\...\AppData\Local\Google\Chrome\User Data
das Chrome-Profil Ihres Nutzers ausführen können. Dies ist beispielsweise nützlich, um Inhalte von einer Website zu exportieren, für die Benutzer angemeldet sein müssen, da Sitzungscookies verfügbar sind.
Sie müssen Google Chrome / Chromium 59 oder eine neuere Version verwenden & Es ist nur für Benutzer von MAC OS und Linux verfügbar.
* Windows-Benutzer müssen noch einige Zeit bis zur 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-Datei mit dem Namen file1.pdf wird in gespeichert
"C: \ Programme oder (x86) \ Google \ Chrome \ Application \ 60.0.3112.113 (Chrome-Version) \ file1.pdf"
--disable-gpu
sollte in den neuesten Versionen nicht mehr notwendig sein.
https://github.com/fraserxu/electron-pdf wurde genau für diesen Zweck entwickelt.
Die CLI sieht folgendermaßen aus: $ electron-pdf http://fraserxu.me ~/Desktop/fraserxu.pdf
electron-pdf http://fraserxu.me test.pdf
wie in der Hilfe vorgeschlagen, aber ich habe es auch auf gooogle.com versucht
Batch-Konvertierung lokaler HTML-Dateien in PDF erfolgreich durchgeführt.
Navigieren Sie zu einem Ordner mit einer Reihe von HTML-Dateien, die Sie konvertieren möchten ...
for %f in (*.html) do (
start /wait chrome --headless --disable-gpu --print-to-pdf="C:/[DESTINATION FOLDER PATH]%f.pdf" "C:/[SOURCE HTML FILE FOLDER PATH -- ALSO CURRENT FOLDER]%f"
)
Hinweis - Es muss ein Schrägstrich verwendet werden, um das Negieren von% f im Dateipfad zu vermeiden.