python - 从另一个 PDF 替换 PDF 中的至少 100 页
问题描述
这是一个代码示例,
import PyPDF2
import numpy as np
# creating a pdf file object
pdfFileObj = open('original.pdf' , 'rb')
pdfFileObj_1 = open('tutorial.pdf', 'rb')
# creating a pdf reader object
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pdfReader_1 = PyPDF2.PdfFileReader(pdfFileObj_1)
# creating a pdf writer object for new pdf
pdfWriter = PyPDF2.PdfFileWriter()
for i in range(100):
page= pdfReader.getPage(i)
page_1= pdfReader_1.getPage(i)
pdfWriter.addPage(page)
pdfWriter.addPage(page_1)
#print(pdfWriter.getNumPages())
# new pdf file object
newFile = open('replaced_pdf_1.pdf', 'wb')
pdfWriter.write(newFile)
# closing the original pdf file object
pdfFileObj.close()
pdfFileObj_1.close()
# closing the new pdf file object
newFile.close()
我得到的错误,
PdfReadWarning:对象 321 0 未定义。[pdf.py:1629] Traceback(最近一次调用最后):文件“test.py”,第 22 行,在 pdfWriter.write(newFile) 文件“/home/ubuntu/Ritesh/working/lib/python3.5/site -packages/PyPDF2/pdf.py”,第 482 行,写入 self._sweepIndirectReferences(externalReferenceMap, self._root) 文件“/home/ubuntu/Ritesh/working/lib/python3.5/site-packages/PyPDF2/pdf. py”,第 571 行,在 _sweepIndirectReferences self._sweepIndirectReferences(externMap, realdata) 文件“/home/ubuntu/Ritesh/working/lib/python3.5/site-packages/PyPDF2/pdf.py”,第 547 行,在 _sweepIndirectReferences 值中= self._sweepIndirectReferences(externMap, value) 文件“/home/ubuntu/Ritesh/working/lib/python3.5/site-packages/PyPDF2/pdf.py”,第 571 行,
我从更改添加到PdfFileWriter
对象pdfWriter
的页数中了解到..如果页面超过 5 个左右,则显示上述错误..否则其工作正常。我需要替换超过 100 个页面..请任何人帮助解决这个问题。
解决方案
我在 Windows 10 和 Red Hat Enterprise Linux 6 上使用了这个示例代码。在这两个平台上我都使用了 python 2.7(我的工作站上没有 python 3.5)。由于您没有提供您的 original.pdf 和 tutorial.pdf 版本,我使用了 2 本 pdf 格式的电子书:分别为 686 页和 1014 页。
我无法证实你的观察:与
对于范围内的我(100):
替换为
对于我在范围内(600):
我收到了 1200 页的输出 pdf。
推荐阅读
- html - 更正后的 HTML 代码是否完全正确?
- java - 使用 Maven 运行 Spring Boot 应用程序时出错:参数绑定的名称不能为空
- angularjs - Angularjs中的多个HTML表格按相同的值分组
- html - 使 div 不受其他 div 大小的影响
- java - Collectors.joining 与 StringBuilder.append
- java - 使用 FQDN 识别的用户(而不是 IP)远程连接到数据库
- javascript - 使用ajax时如何追加数据?
- r - 如何计算纯素 rda/cca 对象的物种贡献百分比?
- java - 正确实施蓝牙发现
- node.js - 无法让 nodemon 忽略我的公用文件夹