GNU/Linux >> Linux の 問題 >  >> Linux

HTML から PDF への変換を自動化するにはどうすればよいですか?

この古い投稿を見つけて申し訳ありませんが、最高の HTML/PDF 変換ツールを検索した結果、最初に出てきました。

2019 年 5 月更新

ありがたいことに、プロセス全体が TheCodingMachine によって Docker イメージにパックされています:https://github.com/thecodingmachine/gotenberg

これにより、本番環境での chrome ベースの pdf 生成のメンテナンスと使用が非常にスムーズになり、面倒がなくなります。

Chrome 59 以降、新しいヘッドレス モードがあります。他のすべてのソリューションは、フレックスボックスなどの新しい (またはそれほど新しくない) CSS 機能に本当に苦労しているため、私の場合、これが適切な PDF 出力を生成する唯一のソリューションでした。

ローカルの html ファイルから PDF を作成するには、次のコマンドを使用します:chrome --headless --disable-gpu --print-to-pdf file:///path/to/myfile.html .

Mac OS 置換 chrome の場合 /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome で .

これまでに気付いた唯一の欠点は、(現在) stdin 経由で html を渡すことができないことですが、一時ファイルの作成はそれほど問題ではありません。

詳細については、https://developers.google.com/web/updates/2017/04/headless-chrome#create_a_pdf_dom を参照してください

更新:結局のところ、chrome 担当者はおそらくこのタスクのためにある種のノード モジュールを提供し、最終的にはヘッドレス モードを非推奨にするでしょう (https://bugs.chromium.org/p/chromium/issues/detail?id =719921).

最善の策は、https://developers.google.com/web/updates/2017/04/headless-chrome#node に記載されている puppeteermodule を使用してノードベースのアプローチを使用し、Page.printToPDF コマンドを使用してページを印刷することです。 、これにより、追加の構成も可能になります。

もちろん、ノード以外の環境 (PHP スクリプトなど) からデバッグ コンソール Websocket に接続することもできます。


注:この回答は 2008 年のもので、現在はおそらく正しくありません。他の回答を確認してください

PrinceXML は私が見た中で最高のものです (通常の HTML と XML/XHTML を解析します)。どのように最高ですか?まあ、それはかなり印象的だと思ったacid2テストに合格しています

ただし、かなり高価です


WeasyPrint は、選択可能なテキストとハイパーリンクを備えた優れた PDF を生成します。

weasyprint input.html output.pdf

wkhtmltopdf を使用する場合 代わりに、次のオプションを試してください:

wkhtmltopdf --margin-bottom 20mm --margin-top 20mm --minimum-font-size 16 ...

Linux
  1. Linux ユーザーのホーム ディレクトリのクリアとデフォルトへのリセットを自動化するにはどうすればよいですか?

  2. メモリ帯域幅を観察するにはどうすればよいですか?

  3. Linux の標準入力ストリームから HTML 特殊エンティティを簡単に変換するにはどうすればよいですか?

  1. Linuxでファイルをシンボリックリンクするにはどうすればよいですか?

  2. 自分が画面にいるかどうかを確認するにはどうすればよいですか?

  3. Ubuntu で ZooKeeper を停止するにはどうすればよいですか?

  1. Google Chrome から古い履歴を削除するにはどうすればよいですか?

  2. Ubuntu 10.04 で pip をアップグレードするにはどうすればよいですか?

  3. ディスク io を監視するにはどうすればよいですか?