Google ドキュメントから ([ファイル]/[印刷] ではなく [印刷] リンクを使用して) 印刷すると、ブラウザの印刷エンジンに頼るのではなく、きれいにフォーマットされた PDF ファイルを印刷することになります。Google Analytics の一部のレポートについても同様です。. . PDFとして印刷されたレポートは美しいです。彼らはどのようにそれをしますか?彼らがそれを容易にするために Adobe Acrobat のようなものを使用しているとは想像できませんが、そうしているのかもしれません。HTML から PDF への高価なコンバーターをオンラインで時々見てきましたが、飽きることはありません。何かご意見は?
6 に答える
あなたが特にグーグルがそれをする方法を見ているならば。PDFプロパティページを見ると、Prince 6.0を使用しています(princexml.comを参照) 。
他にもたくさんのPDFジェネレーターがあります。私はトリッキーな仕事のためにPDFlibで大成功を収めました。
PrinceXMLの優れた無料の代替手段:wkhtmltopdf 。さまざまな言語用のラッパーライブラリがたくさんありますが、私はRubyのものだけを使用しました。ただし、製品自体はPrinceXMLIMHOと同等です。
iTextSharp と iText は、それぞれ .NET と Java 用のオープンソースで無料の PDF 生成ライブラリです。
以前にそれらを使用してレポート PDF を生成したことがあり、結果に非常に満足しています。
pd4mlで成功しました。タグ ライブラリがあるため、既存の HTML を PDF に変換できます。
<pd4ml:transform>
<!-- Your HTML is here -->
<c:import url="/page.html" />
</pd4ml:transform>
まあ、 HTML を生成するのと同じくらい簡単だとは思えません。. . まず第一に、PDF は人間が読める形式ではなく、(SVG のような) プレーン テキストでもありません。実際、印刷ページのレイアウトを正確に制御できるという点で、SVG ファイルと PDF ファイルを比較します。しかし、SVG はそれが XML であるという点で異なります (また、ブラウザーで完全にサポートされていないという点でも、. . . まだ SVG も調べています)。そういえば、SVG はおそらく次の質問になるはずです。
Google が .NET を使用していないことは知っていますが、Java を使用しているとは思えないため、PDF ファイルの生成に使用する他のライブラリがいくつかあるはずです。さらに重要なのは、HTML ではなく PDF としてすべてを書き直すことなく、どうすれば PDF を作成できるのでしょうか。つまり、PDF ビューではなく HTML ビューを生成するときに、共有コードが必要です。考えてみると、PDF ビューと HTML ビューは完全に分離されており、ビューが 2 つしかないため、MVC 開発スタイルが適しているように思われます。
PDFのレンダリングは、難しく複雑な問題です。ただし、それらを生成することはできません。いくつかのエンティティを構成し、生成するだけです。これは、WebページのHTMLを生成するのと、それを表示(レンダリング)するのとほぼ同じ問題領域です。