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については、こちらのドキュメントにまとめられています。
https://pypdf2.readthedocs.io/en/latest/modules/DocumentInformation.html?highlight=DocumentInformation%20
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に付与することができます。
404 Not Found
| Read the Docs
コメント