HTMLとCSSをPDFへ変換する無料のPythonライブラリ
オープンソースのPythonライブラリで、HTMLからPDFドキュメントを生成できます。高度なページレイアウト、画像とテーブルのレンダリング、カスタムフォントの追加、ヘッダー/フッターなどをサポートしています。
XHTML2PDF ライブラリとは何ですか?
ウェブ開発の世界では、HTML コンテンツから PDF ドキュメントを生成する必要性は一般的な要件です。請求書やレポート、その他あらゆる印刷可能な文書を作成する際に、この変換を処理できる信頼できるツールが不可欠です。そこで登場するのが、強力なオープンソースの Python ライブラリである XHTML2PDF です。html2pdf(旧称 pisa)は、HTML(XHTML を含む)と CSS を PDF ドキュメントに変換する純粋な Python ライブラリです。ReportLab ツールキットと html5lib の上に構築され、オプションで PyPDF のサポートも利用可能です。プラットフォームに依存せず利用しやすく、開発者はウェブベースのコンテンツを迅速かつ効果的に印刷可能な PDF に変換できます。
XHTML2PDF は、PDF 生成のための多機能ツールです。HTML5 と CSS 2.1 のサポート、シームレスな Django 統合、強力なコマンドラインインターフェース、PDF 固有のカスタムタグ、高度なページレイアウトとスタイリング、テーブルや画像のサポート強化など、多くの機能を備えています。開発者にとって XHTML2PDF が魅力的なのは、そのシンプルさと柔軟性です。HTML と CSS の書き方が分かっていれば、このライブラリを使ってすぐに PDF を生成できます。純粋な Python ライブラリであるため、プラットフォームに依存せず、Python をサポートする任意の OS 上で動作します。また、ライブラリの制限にも注意が必要です。CSS の全仕様はサポートしておらず、JavaScript の実行も行いません。
XHTML2PDF の開始方法
XHTML2PDF は pip を使用してインストールできます。以下のコマンドは、プラットフォームに対応する Python Wheel が利用可能な場合にインストールします。
pip で XHTML2PDF をインストール
pip install xhtml2pdf GitHub でリポジトリをクローンする
git clone https://github.com/xhtml2pdf/xhtml2pdf.git 手動でインストールすることも可能です。最新のリリースファイルは GitHub リポジトリから直接ダウンロードしてください。
Python を使用して HTML と CSS を PDF に変換する
オープンソースのXHTML2PDFライブラリの主な機能は、HTMLとCSS(インラインスタイルを含む)を解析し、PDFドキュメントに正確にレンダリングすることです。HTMLタグとCSSプロパティの広範なサブセットをサポートし、デザインの柔軟性を大幅に向上させます。ページ区切り、ヘッダーとフッター、ページ余白とサイズ、フォント埋め込みなどの機能をサポートしています。以下のシンプルな例は、ソフトウェア開発者がPythonコードを使用してHTMLコンテンツをPDFファイルに変換できる方法を示しています。
Python を使用して HTML コンテンツを PDF ファイルに変換する方法は?
from xhtml2pdf import pisa
# 変換するHTMLコンテンツ
html_content = """
こんにちは、世界!
これはXHTML2PDFで生成した最初のPDFです。
"""
# 出力PDFファイル名
output_filename = "hello_world.pdf"
# バイナリ書き込みモードで出力ファイルを開く
with open(output_filename, "w+b") as pdf_file:
# Create the PDF
pisa_status = pisa.CreatePDF(
html_content, # the HTML to convert
dest=pdf_file) # file handle to receive result
# PDF作成が成功したか確認する
if not pisa_status.err:
print(f"Successfully created PDF: {output_filename}")
else:
print(f"Error creating PDF: {pisa_status.err}")
高度なページレイアウトとカスタムフォントのサポート
XHTML2PDFライブラリを使用すると、ソフトウェア開発者はPDFページのレイアウトを細かく制御できます。@page CSSルールを使ってページサイズ、余白、向きを定義できます。また、ドキュメント用にカスタムヘッダーとフッターを作成することも可能です。さらに、PDFで特定のフォントを使用する必要がある場合、ライブラリはカスタムフォントの埋め込みを許可します。これはブランディングやすべてのドキュメントで一貫したタイポグラフィを確保するのに特に有用です。
Python ライブラリによる PDF 画像とテーブルのレンダリング
オープンソースのXHTML2PDFライブラリは、PDF内でテーブルや画像をレンダリングするための強力なサポートを提供します。CSSを使用してテーブルのスタイルを設定でき、画像についてはサイズと配置を制御できます。このライブラリは画像、フォント、その他の静的アセットを簡単かつ正確に解決し、埋め込むことができ、自己完結型PDFの生成に重要です。HTMLに
HTML5 と CSS 2.1 のサポート
HTMLとCSSに慣れていれば、スタイリングされたPDFの作成は直感的になり、学習コストは不要です。XHTML2PDFライブラリは、HTML5やCSS 2.1を含む最新のウェブ標準を優れた形でサポートし、CSS 3のプロパティにも一部対応しています。つまり、ウェブページと同様に、慣れ親しんだHTMLタグとCSSプロパティを使用してPDF文書を構造化し、スタイル付けできるということです。