1. 製品
  2.   PDF
  3.   Python
  4.   Pikepdf
 
  

PDFファイルを処理するためのオープンソースのPythonライブラリ

無料の Python API を使用すると、PDF を線形化し、暗号化された PDF にアクセスできます。 PDF のゼロからの作成、ある PDF から別の PDF へのページのコピー、PDF の分割または結合などをサポートしています。

PikePDF は、ソフトウェア開発者が Python アプリケーション内で PDF ファイルを操作できるようにする、非常にシンプルな Python PDF ライブラリです。これは、強力な PDF 操作および修復ライブラリである QPDF に基づいています。 PikePDF は PDF コンテンツ変換ライブラリで、PDF ファイルへの低レベル アクセスを提供します。これは、ユーザーが PDF 内部の知識と PDF 仕様に精通している必要があることを意味します。このライブラリはオープン ソースであり、MIT ライセンスの下で一般に使用できます。ライブラリはオープン ソースであり、MPL-2.0 ライセンスの下で利用できます。

PikePDF は、PDF の線形化と暗号化された PDF へのアクセスをサポートします。 PDF を最初から作成する、ある PDF から別の PDF にページをコピーする、PDF を分割またはマージする、PDF から画像またはテキストを抽出する、PDF のコンテンツを置き換える、PDF 修復サポート、ページ設定のサポート、PDF メタデータの管理、パスワードで保護された操作、PDF XMP メタデータの編集、既存の PDF の変換など。

.

Previous Next

PikePDF を使い始める

PikePDF には Python 3.6 以降が必要です。 pip を使用して PikePDF をインストールできます。以下のコマンドでインストールしてください。

pip経由でPikePDFをインストールする

 pip install pikepdf

Python を使用してある PDF から別の PDF にページをコピーする

オープン ソースの PikePDF ライブラリは、ソフトウェア開発者が数行の Python コードを使用して、ある PDF から別の PDF にページをコピーできるようにする機能を提供します。 PDF オブジェクト間でページをコピーすると、ターゲット PDF ファイル内にソース ページの浅いコピーが作成されるため、ページを変更しても元の PDF ドキュメントには影響しません。特定のページをカスタム コンテンツに置き換えることも可能です。特定の PDF 内のページをコピーすることもできます。

Python で PDF ドキュメントを開いて操作する

 # PDF Documents Manipulation 
  from pikepdf import Pdf
  new_pdf = Pdf.new()
  with Pdf.open('sample.pdf') as pdf:
    pdf.save('output.pdf') 
   # Copying pages from other PDFs
  pdf = Pdf.open('../tests/resources/fourpages.pdf')
  appendix = Pdf.open('../tests/resources/sandwich.pdf')
  pdf.pages.extend(appendix.pages)

Python による PDF の分割と結合

PDF PikePDF ライブラリを使用すると、ソフトウェア開発者は既存の PDF ファイルにアクセスし、複数の PDF ファイルに簡単に分割することができます。 PDF を分割する際に必要なのは、新しい PDF が宛先ページを保持している必要があることだけです。ライブラリはまた、各ページに関連付けられたデータを確実に転送するため、すべてのページが独立しています。このライブラリには、複数の PDF ドキュメントを 1 つにマージまたは連結するためのサポートも含まれていました。数行のコードで PDF ページの順序を逆にすることもできます。

Python による PDF ドキュメントの分割と結合

 # PDF Splitting
  pdf = Pdf.open('../tests/resources/fourpages.pdf')
  for n, page in enumerate(pdf.pages):
  dst = Pdf.new()
  dst.pages.append(page)
  dst.save(f'{n:02d}.pdf')
  # Combine Multiple PDF pages into a single One
  from glob import glob
  pdf = Pdf.new()
  for file in glob('*.pdf'):
  src = Pdf.open(file)
  pdf.pages.extend(src.pages)
  pdf.save('merged.pdf')

Python を介して PDF ドキュメント内の画像を管理する

PDF PikePDF ライブラリを使用すると、ソフトウェア開発者は Python コマンドを使用して PDF ファイル内の画像を簡単に処理できます。ライブラリには、PDF ページ内での画像のコピー、PDF を開いて表示、画像のサイズ変更、PDF 内の画像の操作、PDF からの画像の抽出、画像の置換、PDF からの画像の削除など、画像処理に関連するいくつかの重要な機能が含まれています。 .

画像を抽出して Python 経由で PDF に置き換える

 # Extract Image & Replace PDF Images
  import zlib
  rawimage = pdfimage.obj
  pillowimage = pdfimage.as_pil_image()
  greyscale = pillowimage.convert('L')
  greyscale = greyscale.resize((32, 32))
  rawimage.write(zlib.compress(greyscale.tobytes()), filter=Name("/FlateDecode"))
  rawimage.ColorSpace = Name("/DeviceGray")
  rawimage.Width, rawimage.Height = 32, 32

Python による PDF メタデータ処理

PDF メタデータには、作成者名、作成日と変更日、キーワード、著作権情報など、PDF ドキュメントに関する非常に有用な情報が含まれています。 PDF PikePDF ライブラリには、メタデータへのアクセスと読み取り、メタデータの抽出、PDF ドキュメントからのメタデータ エントリの削除のための完全な機能が含まれています。次のコード例は、PDF ドキュメントからメタデータを抽出する方法を示しています。

Python 経由で PDF メタデータを抽出する方法

 # Extract PDF Metadata
  import pikepdf
  import sys
  # get the target pdf file from the command-line arguments
  pdf_filename = sys.argv[1]
  # read the pdf file
  pdf = pikepdf.Pdf.open(pdf_filename)
  docinfo = pdf.docinfo
  for key, value in docinfo.items():
    print(key, ":", value)
 日本