keep-loving-pythonのブログ

Pythonを愛し続けたいです(Pythonが流行っている限りですが。。。)

🏆ChatGPT(Yon)に、pdfをマージするコードを作成してもらった(シオリつき)。

ChatGPT(Yon)に、pdfをマージするコードを作成してもらった

from PyPDF2 import PdfMerger, PdfReader, PdfWriter

# マージするPDFファイルのリスト
pdf_files = ["aaa.pdf", "bbb.pdf", "ccc.pdf"]

# PdfMergerオブジェクトを作成
merger = PdfMerger()

# 各PDFファイルを追加し、しおりを作成
for pdf_file in pdf_files:
    merger.append(pdf_file, bookmark=pdf_file[:-4])  # ファイル名から拡張子を除去してしおりに使用

# マージしたPDFを保存
output_file = "merged.pdf"
merger.write(output_file)
merger.close()

以下のエラーを治してもらった

PyPDF2.errors.DeprecationError: bookmark is deprecated as an argument. Use outline_item instead

ChatGPTによると、、、

PyPDF2のバージョンによっては、bookmark引数がoutline_itemに置き換えられたため、そのエラーが発生しています。新しい引数outline_itemを使ってコードを修正します。

日本人向けに、上記のこと(出来事)を、ベタな英語のコメントにしてもらった。

from PyPDF2 import PdfMerger

# This code was created by ChatGPT.
# An error was encountered, and the code was subsequently corrected by ChatGPT once.

# List of PDF files to merge
pdf_files = ["aaa.pdf", "bbb.pdf", "ccc.pdf"]

# Create a PdfMerger object
merger = PdfMerger()

# Add each PDF file and create a bookmark
for pdf_file in pdf_files:
    merger.append(pdf_file, outline_item=pdf_file[:-4])  # Use filename without extension for bookmark

# Save the merged PDF
output_file = "merged.pdf"
merger.write(output_file)
merger.close()

print(f"PDF files merged and saved as {output_file}.")

コメント

ChatGPT(3.5)⇒ChatGPT(4)の進化が凄い!!!(ChatGPT(3.5)のときは、ダメだった。。。)

訂正!!!!

keep-loving-python.hatenablog.com

上記の自分の記事に基づき、pypdfを使うことにした。

最終!!!↓

from pypdf import PdfWriter##PdfMerger

# This code was created by ChatGPT.
# An error was encountered, and the code was subsequently corrected by ChatGPT once.

# List of PDF files to merge
pdf_files = ["file1.pdf", "file2.pdf", "file3.pdf"]

# Create a PdfMerger object
merger = PdfWriter()##PdfMerger()

# Add each PDF file and create a bookmark
for pdf_file in pdf_files:
    merger.append(pdf_file, outline_item=pdf_file[:-4])  # Use filename without extension for bookmark

# Save the merged PDF
output_file = "mergedKAI.pdf"
merger.write(output_file)
merger.close()

print(f"PDF files merged and saved as {output_file}.")