0

我试图拆分和合并 pdf 文件,以便我可以删除每个 pdf 文件的第一页。这是代码。

    #python3

    #split and merge pdf files!


    import os, PyPDF2

    pdfFiles = []
    os.chdir('C:\\Users\\Cyber\\Downloads\\5-111-fall-2008\\5-111-fall-2008\\contents\\readings-and-lecture-notes')



    for filename in os.listdir('.'):
        if filename.endswith('pdf'):
            pdfFiles.append(filename)

    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('Merged.pdf', 'wb')
    pdfWriter.write(pdfOutput)
    pdfOutput.close()

然后我收到以下错误...

:PdfReadWarning:外部参照表不是零索引的。对象的 ID 号将被更正。[pdf.py:1736]

我搜索了那个错误,发现它表明 PDF 本身的创建可能存在问题。

虽然我得到了我想要的 merge.pdf 文件,但我想知道这到底意味着什么以及如何避免得到它们。

4

1 回答 1

1

此警告意味着外部参照表的第一部分不是从对象零开始的。编写 PDF 时可能存在错误。如果 strict = False,PyPDF2 将尝试更正对象 ID 号。如果 strict = True,它们将不会被更正。默认为 True。尝试PyPDF2.PdfFileReader(pdfFileObj,False)

于 2016-09-03T09:01:32.747 回答