使用 PyPDF2 连接多个 Pdf

Concatenate multiple Pdf using PyPDF2

我正在尝试将多个 pdf 合并为一个。 以下是我的代码:

import PyPDF2
import os
import sys

if not sys.warnoptions:
    import warnings
    warnings.simplefilter("ignore")

pdf_path=r'path'
os.chdir(pdf_path)

output_pdf=input("Enter for output pdf: ")

#Get PDF list
pdfmerge=[]
for pdf_file in os.listdir(pdf_path):
    if pdf_file.endswith('.pdf'):
        pdfmerge.append(pdf_file)

pdfWriter = PyPDF2.PdfFileWriter()

#loop through all PDFs
for pdf_file in pdfmerge:
    pdfFileObj=open(pdf_file,'rb')
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

for pageNum in range(pdfReader.numPages):
    pageObj=pdfReader.getPage(pageNum)
    pdfWriter.addPage(pageObj)

#Save PDF
pdfOutput=open(output_pdf+'.pdf','wb')

pdfWriter.write(pdfOutput)
pdfOutput.close()

此代码提供了输出 pdf,但只有文件夹中的最后一个 pdf 被连接到输出 pdf 中,其余的则没有。 我如何更改代码以便合并文件夹中的所有 pdf 而不仅仅是最后一个 pdf

您在迭代页面时缺少缩进,它应该显示为:

for pdf_file in pdfmerge:
    pdfFileObj=open(pdf_file,'rb')
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

    for pageNum in range(pdfReader.numPages):
        pageObj=pdfReader.getPage(pageNum)
        pdfWriter.addPage(pageObj)