PDFファイルを作ったが、タイトルが文字化けして変になっていたり、タイトルだけ変更したいときがある。
以下は、Pythonを使ったPDFファイルのタイトルだけ変更するスクリプトです。
使い方
python changePDFtitle.py <PDFファイル名> <変更したいタイトル>
例として、PDFファイルがhoge.pdfでタイトルをほげほげに変更したいなら
python changePDFtitle.py hoge.pdf ほげほげ
として実行する。
ソースコード
PyPDF2モジュールを使っているため、pip install PyPDF2 としてインストールしてください。
changePDFtitle.py
import sys
from PyPDF2 import PdfReader, PdfWriter
from PyPDF2.generic import NameObject, create_string_object
def change_pdf_title(pdf_file_name, new_title):
# PDFファイルを読み込む
reader = PdfReader(pdf_file_name)
writer = PdfWriter()
# 全ページを新しいPDFファイルにコピー
for page in reader.pages:
writer.add_page(page)
# 新しいメタデータを作成
writer.add_metadata({
NameObject('/Title'): create_string_object(new_title)
})
# 変更を加えたPDFファイルを保存
with open(pdf_file_name, 'wb') as f:
writer.write(f)
if __name__ == '__main__':
if len(sys.argv) != 3:
print("Usage: python change_pdf_title.py <PDF file name> <new title>")
else:
pdf_file_name = sys.argv[1]
new_title = sys.argv[2]
change_pdf_title(pdf_file_name, new_title)
print(f"Updated the title of '{pdf_file_name}' to '{new_title}'")
コメント