pythonでPDFを扱うためのモジュールを比較

投稿者: | 2018年8月18日

pythonでPDFを扱う際のモジュールをまとめました。

残念ながら、なんでもできる完璧なモジュールというのは存在しないため、用途によって使い分ける必要があるようです。

モジュール一覧

モジュール名 用途 概要
ReportLab PDF生成 多機能なPDF生成ツール。
PyPDF2 ページ操作 PDFの分割結合、パスワード追加などが可能。
wkhtml2pdf PDF生成 html、cssからPDFを生成。
PDFMiner 内容分析 PDF文書から情報を抽出するためのツール。
Sphinx PDF生成 文書作成用ライブラリ。PDF生成も可能。

 

各モジュールの詳細

・REPORTLAB

文字、図形、表などを自由にレイアウトしたPDFを作成できるツール。
ReportLab PLUS という有料ソフトの無料版。
連結などページ操作する機能は、無料版には含まれない。
CDラベル作成やバーコード作成なども可能。

 

・PYPDF2

PDF生成というよりは、PDFのページ操作(分割、結合など)ができることを特徴としている。
具体的には、ページのコピー、ページの回転、ページのオーバーレイ、ファイルの暗号化(パスワード追加)、ページ抽出、PDF文書の結合など。
日本語が含まれるPDFを扱うとエラーが出る可能性があるが、
モジュールの一部を書き換えるとエラーに対処できる模様。

 

・WKHTML2PDF

html+cssで作成した文書をPDF化できる。
Web作成の経験があれば、容易にPDF文書の作成が可能。
WebページのPDF化もできそう。

 

・PDFMINER

PDF文書から情報を抽出することを主目的としたツール。
ページ内のテキストの正確な位置だけでなく、フォントや行などの他の情報も取得可能。

 

・SPHINX

美しいドキュメントを作るためのモジュール。ドキュメントのPDF化も可能。
(PDF作成は付加的な位置づけ?)

 

 

最後に

個人的には、PDF作成までpythonで行うのは難しそうなので、
ExcelやWordで文書作成、PDF化し、ページの分割、結合などを
PyPDF2で行うのが現状ベストな方法ではないかと考えます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です