
PyMuPDF
PDF メタデータを管理するためのオープンソースの Python ライブラリ
PDF ドキュメントのメタデータにアクセスして変更するための無料のオープンソース Python ライブラリ、PyMuPDF をお試しください。
PyMuPDF とは何ですか?
PyMuPDF (別名 Fitz) は、PDF の解析、PDF の分割と結合 などの多くの機能を提供するオープンソースの Python ライブラリですが、このページでは、Python 開発者が PyMuPDF ライブラリを使用して、次のような PDF メタデータ関連のタスクを処理する方法についてのみ説明します。
- PDF メタデータの読み取り: PyMuPDF は、作成者、タイトル、件名、作成日などの情報を含む PDF ドキュメントのメタデータへのアクセスをサポートしています。
- PDF メタデータの変更: ライブラリでは、PDF ドキュメントのメタデータを変更することもできます。
- XML メタデータの読み取り: PDF ドキュメントには、作成者、タイトルなどの標準ドキュメント プロパティに限定されず、追加のメタデータを持つことができる XML メタデータも含まれています。PyMuPDF を使用すると、開発者はそれを読み取ることもできます。
- XML メタデータの変更: 開発者は、PyMuPDF ライブラリを使用して PDF の XML メタデータを変更することもできます。
PyMuPDF を使い始める
PyMuPDF をインストールして使用するには、Python バージョン 3.8.0 以上が必要です。まず Python をインストールし、次に以下のコマンドを使用して pip と 仮想環境 を使用して PyMuPDF をマシンにインストールします。
リナックス
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
MacOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
ウィンドウズ
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
PDFメタデータの読み取り
PyMuPDF ライブラリの metadata メンバーを使用して PDF のメタデータを読み取ることができます。このメンバーには、ドキュメントの完全なメタデータ コンテンツが含まれています。以下のコード スニペットは、metadata メンバーから PDF のメタデータを取得する方法を示しています。
出力
以下のスクリーンショットは、PyMuPDF を使用して PDF から取得したメタデータを示しています。
PDFメタデータの編集
PyMuPDF ライブラリを使用して PDF のメタデータを編集するには、以下のコード スニペットに示すように、変更するフィールドとその新しい値を含む辞書を set_metadata メソッドに渡します。
PDF の XML メタデータの読み取り
PyMuPDF ライブラリを使用して、PDF の XML メタデータを取得できます。以下のコード スニペットに示すように、XML メタデータ全体を返す get_xml_metadata メソッドを使用します。
出力
以下のスクリーンショットは、PyMuPDF を使用して PDF から取得した XML メタデータを示しています。
PDF の XML メタデータを変更する
PyMuPDF ライブラリの set_xml_metadata メソッドを使用して、PDF の XML メタデータを設定または変更できます。set_xml_metadata は任意の文字列を受け入れ、渡された文字列で完全な XML メタデータを置き換えるため、ドキュメント レベルのメタデータを置き換えるほど簡単ではありません。
メタデータ情報が誤って削除されるのを避けるために、まず get_xml_metadata を使用して完全な XML メタデータを文字列として取得し、次に文字列の replace メソッドを使用して必要な情報を置き換えます。最後に、変更されたフィールドを含む完全な XML を set_xml_metadata メソッドに渡して、PDF の XML メタデータ全体を変更します。詳細については、以下のコード スニペットを確認してください。
結論
要約すると、PyMuPDF はメタデータ操作に関連するタスクに最適なツールです。PDF のメタデータ情報を簡単に取得および変更できます。ただし、set_xml_metadata メソッドには顕著な弱点があります。このメソッドは渡された任意の文字列を受け入れ、以前の XML を上書きするため、意図しない情報の損失が発生する可能性があります。この問題を回避するには、開発者は XML メタデータの正しい変更を確実に行うロジックを実装する必要があります。