私はしばらくの間 htmldoc を使用してきましたが、いくつかのかなり深刻な制限に遭遇しました。Linux ボックスで動作する最終的なソリューションが必要です。このライブラリ/ユーティリティ/アプリケーションを Perl アプリから呼び出すので、Perl インターフェイスはボーナスになります。
16 に答える
この古い投稿を見つけて申し訳ありませんが、最高の HTML/PDF 変換ツールを検索した結果、最初に出てきました。Linux では、wkhtmltopdfは非常に優れており (とりわけ CSS を考慮に入れる)、GPL です。
WeasyPrintは、選択可能なテキストとハイパーリンクを含む素敵な PDF を生成します。
weasyprint input.html output.pdf
代わりに使用する場合はwkhtmltopdf
、次のオプションを試してください。
wkhtmltopdf --margin-bottom 20mm --margin-top 20mm --minimum-font-size 16 ...
注: この回答は 2008 年のもので、現在はおそらく正しくありません。他の回答を確認してください
PrinceXMLは私が見た中で最高のものです (通常の HTML と XML/XHTML を解析します)。どのように最高ですか?まあ、それはかなり印象的だと思ったacid2テストに合格しました
ただし、かなり高価です
私はあなたのために少しグーグルをして、2つのオプションを思いつきました. 他にもあるかもしれませんが、私の Google 戦略は、「webkit コマンドライン pdf」と「gecko コマンドライン pdf」を試して、基本的にコマンドライン レンダラーに 2 つの人気のあるオープンソース レンダリング エンジンを組み込んだコマンドライン プログラムを探すことでした。これが私が見つけたものです:
Firefox コマンドライン プリンター- pdf および png への出力
wkpdf - これは mac 用ですが、おそらくかなり移植性があります。
これは完全にやり過ぎですが、mirthをダウンロードしてインストールできます。これはメッセージ ルーティング エンジンですが、html を pdf に変換する機能があるため、フォルダー内の html ファイルを取得して pdf に変換し、pdf を同じフォルダーまたは別のフォルダーにドロップするように設定できます。私が言ったように、やり過ぎで、少し学習曲線がありますが、無料であり、Java であるため、必要に応じて Linux で実行できます。そして、perl アプリがしなければならないことは、html をファイルにドロップすることだけです。
ここで回答されていない別の解決策は、API を使用することです。
それらの利点は、ジョブに必要なリソースを外部化し、最新の機能を実装する最新のサービスを利用できることです (コードを更新したり、バグ修正をインストールしたりする必要はありません)。
たとえば、PDFShiftを使用すると、次の単一の POST リクエストでそれを実行できます。
"source"
(URL または生の HTML コードのいずれか)を渡すと、PDF がバイナリで返されます。(免責事項: 私は PDFShift で働いています)。
Python のコード サンプルを次に示します。
import requests
response = requests.post(
'https://api.pdfshift.io/v2/convert/',
auth=('user_api_key', ''),
json={"source": "https://en.wikipedia.org/wiki/PDF", "landscape": False, "use_print": False}
)
response.raise_for_status()
with open('wikipedia.pdf', 'wb') as f:
f.write(response.content)
PDF は ./wikipedia.pdf にあります。
http://phantomjs.org/をご覧ください。
変換は、小さなスクリプトrasterize.jsを発行して実行できます。
phantomjs rasterize.js 'http://en.wikipedia.org/w/index.php?title=Jakarta&printable=yes' jakarta.pdf
wkhtmltopdf と wkhtmltoimage は、Qt WebKit レンダリング エンジンを使用して HTML を PDF やさまざまな画像形式にレンダリングするオープン ソース (LGPLv3) コマンド ライン ツールです。これらは完全に「ヘッドレス」で実行され、表示または表示サービスを必要としません。
それの使い方?
コンパイル済みのバイナリをダウンロードするか、ソース https://wkhtmltopdf.org/downloads.htmlからビルドします
PDF (または画像) に変換する HTML ドキュメントを作成します。
ツールを使用して HTML ドキュメントを実行します。
使用法: wkhtmltopdf input.html output_name.pdf
Peernet ( http://www.peernet.com/conversion-software/batch-document-converter/ ) の「Document Conversion Service」をチェックしてみてください。これは、Windows デスクトップまたは Windows Server マシンでサービスとして実行されます。Web ブラウザーで HTML ドキュメントを開き、プリンター ドライバーを介してそれらを印刷して PDF ドキュメントを作成するため、作成された PDF ドキュメントは、ブラウザーから HTML ドキュメントを印刷した場合とまったく同じように見えます。