解決策。エラー:ImportError: cannot import name 'PdfFileMerger' from 'pypdf'
エラー内容
ImportError: cannot import name 'PdfFileMerger' from 'pypdf' (C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\pypdf\__init__.py)
エラー詳細
C:\_JITAKU_DE_GYOMU\_python_by_chatgpt>python python_shioriY.py Traceback (most recent call last): File "python_shioriY.py", line 2, in <module> from pypdf import PdfFileMerger, PdfFileReader, PdfFileWriter ImportError: cannot import name 'PdfFileMerger' from 'pypdf' (C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\pypdf\__init__.py)
環境
windows10
python3.7.2
対象ソース
from PyPDF2 import PdfFileMerger, PdfFileReader, PdfFileWriter import os # 3つのPDFファイルをリストで指定 pdf_files = ["file1.pdf", "file2.pdf", "file3.pdf"] # マージしたPDFファイルの出力先ファイル名 output_pdf = "merged_file.pdf" # PdfFileMergerオブジェクトを作成 merger = PdfFileMerger() # それぞれのPDFファイルを結合 for pdf_file in pdf_files: merger.append(pdf_file) # マージしたPDFファイルを保存 merger.write(output_pdf) merger.close() # 作成したPDFファイルにしおりを追加 pdf_writer = PdfFileWriter() pdf_reader = PdfFileReader(output_pdf) # ページ数の累積値を取得 cumulative_page_count = 0 for pdf_file in pdf_files: pdf = PdfFileReader(pdf_file) pdf_title = os.path.splitext(os.path.basename(pdf_file))[0] pdf_writer.addBookmark(pdf_title, cumulative_page_count) cumulative_page_count += pdf.getNumPages() # しおりを追加したPDFファイルを保存 with open(output_pdf, "wb") as f: pdf_writer.write(f)
解説策
PdfFileMerger ⇒ PdfMerger に変更 PdfFileReader PdfFileWriter も同様に。