私はWebページからpng画像を生成するためにPhantomJSを使用しています。また、PDFも生成することができ、通常は品質が良好です。このプロパティはスクリーンキャプチャと呼ばれ、hereと記載されています。サポートされている形式はPNG、JPEG、GIF、PDFです。
PDFに変換すると、ページのテキストはテキストとして保持されます。
ほとんどの他のライブラリやプログラムをテストしたところ、PhantomJSは最も完璧な解決策でした。 PhantomJSは実際のレイアウトとレンダリングエンジンであるWebKitを使用します。
ほとんどの例がhttps://github.com/ariya/phantomjs/wiki/Examplesです。セクションレンダリング/ラスタライズでは、プロセスであなたを助け、次のスクリプトが言及されています
rasterize.js rasterizes a web page to image or PDF
PhantomJS QuicStart Guide氏は述べています:PDF出力を生成
は、例えば、可能です
phantomjs rasterize.js 'http://en.wikipedia.org/w/index.php?title=Jakarta&printable=yes' jakarta.pdf
やプリンタ対応チートシートの作成:Wikipediaの記事
phantomjs rasterize.js http://www.nihilogic.dk/labs/webgl_cheat_sheet/WebGL_Cheat_Sheet.htm webgl.pdf
を私は数ページのPDF生成をテストし、ページが基準に従っている場合、それが良い結果を生成します。テキストは高品質で選択可能で印刷可能ですが、pdfのレイアウトによってはpngとまったく同じではありません。私はhttp://lab.simurai.com/buttons/も試験
$ phantomjs rasterize.js 'http://windows.microsoft.com/en-US/windows/home' microsoft.png
$ phantomjs rasterize.js 'http://windows.microsoft.com/en-US/windows/home' microsoft.pdf
:以下のコマンドを使用して生成される2つのスクリーンショットです。 pdfとpngは非常に同一で、以下は私が5641px幅にラスタライズしてその領域を切り取ったpdfのサンプルです。以前のPDFの例のように、テキストはPDFで選択可能で、見てのとおり、テキストはシャープです(アンチエイリアスはありません)。
私はCentos5ソースからコンパイルするにはQtライブラリとPhantomJSをインストールするには、最初に試さ
が、運の取り付け
。次に、Ubuntuの11.10で、プロセスは無痛だった:
私はhttp://phantomjs.googlecode.com/files/phantomjs-1.7.0-linux-x86_64.tar.bz2をダウンロードして
tar -xjvf phantomjs-1.7.0-linux-x86_64.tar.bz2
を使用して、それを抽出し、システムのbinディレクトリに実行可能phantomjsをコピー: $ cp phantomjs-1.7.0-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
とphantomjsは準備ができていました走る。
生成されたPDFがうまくいかない場合は、Webkitを更新しようとするかもしれませんが、結果が十分であるはずです。 PhantomJSは更新サイクルが優れているため、合理的な時間内にバグを修正する必要があります。
PhantomJS FAQも可能性のある情報があります。
なぜこれがまだ閉じているのですか?すべての質問は、これよりも多くの「討論、議論、投票、議論の延長」を引き起こします。 –
wkhtml2pdf now * does *レンダリングキャンバス... wkhtmltopdf.orgを参照してください。 wkhtml2pdfのための親指...それはプレーンの7000+ Javaクラスを扱う代わりにただ一つの実行可能ファイルを持っているプレーン素晴らしいです –