Python:.htmlから厳密に設計された自動マルチページ.pdfレポートを作成します
.htmlから厳密に設計された.pdfレポートを作成するためのPythonベースの優れたオプションは何ですか?
次の点を説明するために、ドラフト.pdfを添付しました。
- レポートのデザインはかなり厳密に設計されています。言い換えれば「見た目は重要」。
- レポートには、複雑なベクターグラフィックス(パッケージ: Matplotlib )が含まれています。これらはサイズがわずかに異なる場合があります。
- レポートには画像が含まれています。
- レポートには、動的に入力される多数の数字/文字列が含まれます。
- 最適なソリューションは、オープンソースパッケージを使用することです。
- .htmlを Django で作成します。
- レポートは複数のページにまたがることがあります。
レポート作成を促進する非常に多様なパッケージがすでに大量にあるように見えます。いくつか例を挙げると、 xhtml2pdf 、 weasyprint 、 Django-wkhtmltopdf です。
私の経験では、これらのツールを使用すると、コンテンツから.pdfを簡単に作成できます。私たちの場合のように、.pdfを高度に定義された設計構造に分類する必要がある場合、難しい部分が生じます。残念ながら、高度に設計された構造を持つさまざまなpdf生成パッケージの.pdfの例を見つけることができませんでした。
これについてのあなたの経験は何ですか?どのオプションがうまく機能しましたか?見落としている複雑な例はありますか?
これを見ることができますPythonパッケージ: weasyprint
Webページ: http://weasyprint.org/
公式ドキュメント: http://weasyprint.readthedocs.io/en/latest/
WebページまたはhtmlファイルからPDFを生成できるため、ドキュメントで指定されている)CSSと競合する可能性がありますが、必要なものを提供します。
最近、weasyprintとjinjaを使用して、htmlからの自動レポート生成を行いました。うまく機能し、厳しいフォーマット要件を満たすことができると思います。しかし、私は他のどれも使用していません。
レポートには、画像に変換されたグラフ、通常の動的に生成されたテキスト、大きなテーブルなどの画像がありました。これらはすべて、9x11のページサイズに制限されていました。 Weasyprintは自動的にページネーションの良い仕事をしますが、その点でも設定可能です。
このガイドは非常に役立つことがわかりました: http://pbpython.com/pdf-reports.html
私はpandasはグラフのhtml生成のための完全な過剰であり、それを使用して多くの設定可能性を失うと思いますが。