组合 PDF 文件在哪里?

Where is the combining PDF file?

我有问题需要你的帮助。 我用 "Automate the boring stuff with Python" 学习 Python。我目前在第 13 章,处理 PDF 文件和 Word 文档。 我有来自 book.It 的这些代码,基本上结合了没有第一页的 pdf 文件。但是在我 运行 程序之后,我没有看到任何 PDF 文件弹出。我试图在目录中找到它,但它也不存在。 所以帮我找到那个文件,谢谢! 这是代码

import PyPDF2
import os
pdfFiles = []
for filename in os.listdir('.'):
if filename.endswith('.pdf'):
    pdfFiles.append(filename)
pdfFiles.sort(key=str.lower)
pdfWriter = PyPDF2.PdfFileWriter()
or filename in pdfFiles:
pdfFileObj = open(filename, 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
for pageNum in range(1, pdfReader.numPages):
    pageObj = pdfReader.getPage(pageNum)
    pdfWriter.addPage(pageObj)
pdfOutput = open('allminutes.pdf', 'wb')
pdfWriter.write(pdfOutput)
pdfOutput.close()

代码中缺少缩进、拼写错误。修复后,我可以按预期合并两个 PDF 文件。

更新

由于您还无法获得输出的 PDF 文件,让我们通过显示合并的 PDF 文件的页数来检查它是否真的创建。

我正在为输入的 PDF 文件使用一个输入文件夹(input_files)。

merge_pdfs.py 遍历 input_files 中的所有 PDF 文件,并通过跳过每个 PDF 文件的第一页将它们合并到 allminutes.pdf

在运行代码之前,文件夹结构:

├── input_files
│   ├── module.pdf
│   └── pypi.pdf
├── merge_pdfs.py
├── requirements.txt
└── screenshots
    └── demo_output.png

运行代码后,文件夹结构:

├── allminutes.pdf
├── input_files
│   ├── module.pdf
│   └── pypi.pdf
├── merge_pdfs.py
├── requirements.txt
└── screenshots
    └── demo_output.png

merge_pdfs.py:

import PyPDF2
import os
pdfFiles = []
outputFile = 'allminutes.pdf'
inputFileDirectory = 'input_files'
for filename in os.listdir(inputFileDirectory):
    if filename.endswith('.pdf'):
        pdfFiles.append(inputFileDirectory+os.sep+filename)
    pdfFiles.sort(key=str.lower)
    pdfWriter = PyPDF2.PdfFileWriter()
    for filename in pdfFiles:
        pdfFileObj = open(filename, 'rb')
        pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
        for pageNum in range(1, pdfReader.numPages):
            pageObj = pdfReader.getPage(pageNum)
            pdfWriter.addPage(pageObj)
        pdfOutput = open(outputFile, 'wb')
        pdfWriter.write(pdfOutput)
        pdfOutput.close()
print("Done merging the pdf files to {}".format(outputFile))

pdfFile = PyPDF2.PdfFileReader(open(outputFile, "rb"))
# print how many pages outputFile has:
print("{} has {} pages.".format(outputFile, pdfFile.getNumPages()))

已生成 allminutes.pdf 文件:

merge_pdfs.py 的输出:

Done merging the pdf files to allminutes.pdf
allminutes.pdf has 4 pages.