ChromeまたはChromiumを使用してコマンドラインから宛先「PDFとして保存」に印刷できますか?HTMLファイルをPDFに自動的に変換できるようにしたいのですが。 = Chromeの組み込み機能を使用。
Webブラウザー全体を呼び出す代わりに、HTMLレンダリングエンジンを使用して作業を行ってみませんか? wkhtmltopdf を使用して変換を実行します。
既存のWebサイトをPDFに変換することもできます
$ wkhtmltopdf http://google.com google.pdf
注:技術的には、Google Chromeのレンダリングエンジンは、WebkitのフォークであるBlinkです。 BlinkとWebkitの間に90%を超える共通コードがあるため、同様の結果が得られるはずです。
Chromeが起動しました headless プログラム。
これで、pdfを作成できます。例えばウィンドウの場合は、コマンドラインを次の場所に移動します
C:\Users\{{your_username}}\AppData\Local\Google\Chrome SxS\Application>
次に、次のコマンドを実行します。
chrome --headless --print-to-pdf="d:\\{{path and file name}}.pdf" https://google.com
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
EDIT: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ファイルの名前file1.pdfが保存されます
"C:\ Program Filesまたは(x86)\ Google\Chrome\Application\60.0.3112.113(chrome-version)\ file1.pdf"
https://github.com/fraserxu/electron-pdf は、まさにこの目的のために設計されました。
CLIは次のようになります:$ electron-pdf http://fraserxu.me ~/Desktop/fraserxu.pdf
ローカルhtmlファイルをPDF-に共有するアプローチに共有するバッチ変換に成功しました。
変換するHTMLファイルのバッチが含まれているフォルダーに移動します...
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"
)
注-ファイルパスの%fが無効にならないように、スラッシュを使用する必要があります。