PDF ファイルを変換するためのオープンソース Python ライブラリ
無料の Python API を使用すると、開発者は PDF ファイルのエクスポート、回転、結合、連結、PDF からのデータと要素の抽出を行うことができます。
pdfrw は、ソフトウェア開発者が外部の特別なソフトウェアをインストールすることなく PDF ファイルを読み書きできるようにするオープン ソースの純粋な Python ライブラリです。 pdfrw プログラミング ライブラリは使い方がとても簡単で、ソース コードは十分に文書化されており、とてもシンプルで理解しやすいものです。このライブラリには、PDF のテキスト文字列に対する適切な Unicode サポートと、最速の純粋な Python PDF パーサーが含まれています。
pdfrw ライブラリには、PDF のマージ、メタデータの変更、複数の PDF の連結、画像の抽出、PDF の印刷、PDF ページの回転、新しい PDF の作成、透かし PDF 画像の追加など、いくつかの重要な PDF 操作のサポートが含まれています。
.
pdfrw を始めよう
pdfrw には、Python 2.6、2.7、3.3、3.4、3.5、および 3.6 が必要です。 pip を使用して pdfrw をインストールできます。以下のコマンドでインストールしてください。
pip 経由で pdfrw をインストールする
python -m pip install pdfrw
Python ライブラリを介して PDF ドキュメントを作成する
pdfrw ライブラリは、ソフトウェア開発者がわずか数行のコードで独自の Python アプリケーション内に PDF ドキュメントを作成する機能を提供します。このライブラリは、既存の PDF ファイルへのアクセスと変更のサポートも提供します。新しいページだけでなく、グラフィック コンポーネントやテキスト要素を既存の PDF に簡単に挿入できます。 pdfrw ライブラリは、読み込んだ PDF ファイル内のページを検索し、一連のページを新しい PDF ファイルに書き戻すサポートを提供します。
Python による PDF ドキュメントの作成と変更
// PDF Documents Creation
import sys
import os
from pdfrw import PdfReader, PdfWriter
inpfn, = sys.argv[1:]
outfn = 'alter.' + os.path.basename(inpfn)
trailer = PdfReader(inpfn)
trailer.Info.Title = 'My New Title Goes Here'
PdfWriter(outfn, trailer=trailer).write()
Python 経由で PDF ファイルを読み取る
pdfrw ライブラリを使用すると、ソフトウェア開発者は、Python アプリケーション内の PDF ドキュメントのさまざまな部分に簡単にアクセスして読み取ることができます。 PDF ドキュメント全体に簡単にアクセスできます。ライブラリは、ファイル情報、サイズなどの取得をサポートしています。これは、ユーザーが PDF ドキュメントのすべてのページを一覧表示できるようにする、pages という名前の特別な属性を作成します。作成者、タイトルなどの情報を引き出すために使用できるドキュメント情報オブジェクトを抽出できます。
Python経由でPDFファイルにアクセスして読む
// Reading PDF Files
from pdfrw import pdfreader
def get_pdf_info(path):
pdf = pdfreader(path)
print(pdf.keys())
print(pdf.info)
print(pdf.root.keys())
print('pdf has {} pages'.format(len(pdf.pages)))
if __name__ == '__main__':
get_pdf_info('w9.pdf')
メタデータの追加または変更
pdfrw を使用すると、ソフトウェア開発者は、独自の Python アプリケーション内で PDF ファイルのメタデータを追加または変更できます。 PDF 内の単一のメタデータ アイテムを変更し、結果を新しい PDF に書き込むだけでなく、複数のファイルを含めることができ、出力 PDF ファイルに無意味なメタデータを追加した後にそれらを連結することができます。
Python を介して PDF メタデータを変更する
// Modifying PDF Metadata
import sys
import os
from pdfrw import PdfReader, PdfWriter
inpfn, = sys.argv[1:]
outfn = 'alter.' + os.path.basename(inpfn)
trailer = PdfReader(inpfn)
trailer.Info.Title = 'My New Title Goes Here'
PdfWriter(outfn, trailer=trailer).write()
PDF ドキュメントの分割
pdfrw を使用すると、ソフトウェア開発者はアプリケーション内で PDF ドキュメント ドキュメントをプログラムで分割できます。ユーザーは、PDF ブックの特定の部分を抽出したり、1 つのファイルに保存する代わりに複数の PDF に分割したりする必要がある場合があります。 pdfrw ライブラリを使用すると非常に簡単です。入力 PDF ファイルのパス、抽出するページ数、および出力パスを指定するだけです。
Python経由でPDFファイルを複数のPDFに分割
// Splitting PDF file into multiple pdfs
from pdfrw import pdfreader, pdfwriter
def split(path, number_of_pages, output):
pdf_obj = pdfreader(path)
total_pages = len(pdf_obj.pages)
writer = pdfwriter()
for page in range(number_of_pages):
if page <= total_pages:
writer.addpage(pdf_obj.pages[page])
writer.write(output)
if __name__ == '__main__':
split('reportlab-sample.pdf', 10, 'subset.pdf')