【Python】PDFのメタデータを設定・取得するには?

Python

PythonからPDFのメタデータを取得したり、PDFにメタデータを設定する方法を紹介します。

スポンサーリンク

メタデータとは?

PDFの「メタデータ」とは、PDFのタイトルや作成者、タグといったデータのことを指します。

適切なメタデータを設定しておくことで、AcrobatなどのPDF閲覧アプリでファイルを管理しやすくすることができます。

メタデータはAcrobatなどのPDFソフトで設定できますが、今回はPythonで設定・取得する方法を紹介していきます。なお、設定されているメタデータはAcrobat Readerなどのアプリで、PDFのプロパティから確認することができます。

スポンサーリンク

PDFのメタデータを取得する

まず、PDFファイルからメタデータを取得するサンプルを紹介します。

PDFからメタデータを取得するには、getDocumentInfoメソッドを使います。

from PyPDF2 import PdfFileWriter, PdfFileReader

output = PdfFileWriter() 
input = PdfFileReader(open('test.pdf', 'rb')) 

# メタデータを取得する
info=input.getDocumentInfo()
# メタデータを表示する

print(info.author)  #作成者
print(info.creator) #ファイル作成ソフト(アプリケーション)
print(info.producer)#PDF変換ソフト
print(info.subject) #サブタイトル
print(info.title)   #タイトル

PDFファイルをPdfFileReaderで開き、getDocumentInfoを実行すると、PDFファイルのメタデータを取得することができます。

404 Not Found | Read the Docs

取得されるDocumentInfoについては、こちらのドキュメントにまとめられています。

The DocumentInformation Class — PyPDF2 documentation

PDFにメタデータを設定する

PDFにメタデータを設定するには、addMetadataメソットを使います。

from PyPDF2 import PdfFileWriter, PdfFileReader

output = PdfFileWriter() 
input = PdfFileReader(open('test.pdf', 'rb')) 

# オリジナルのPDFをPdfFileWriterにコピーする
output.cloneDocumentFromReader(input)

# メタデータを出力に追加する
output.addMetadata({"title":"サンプル"})

# PDFを出力する
with open('out.pdf','wb') as o:
    output.write(o)

PdfFileWriterのaddMetadataメソッドにディクショナリでメタデータを指定すると、任意のメタデータをPDFに付与することができます。

https://pypdf2.readthedocs.io/en/latest/modules/PdfFileMerger.html?highlight=addMetadata#PyPDF2.merger.PdfFileMerger.addMetadata

コメント

タイトルとURLをコピーしました