python - PDFwriter 对象未写入内存
问题描述
PyPDF2 Pdfwriter 无法在内存中写入 pdf。我早些时候检查了这段代码,它工作正常。几个月后我回到了这个项目,它开始给我错误。我不知道出了什么问题。
import io
from PyPDF2 import PdfFileWriter, PdfFileReader
def mergePDFs(InputFile1,InputFile2,OutputFile):
existing_pdf = PdfFileReader(open(InputFile1, "rb"))
output = PdfFileWriter()
new_pdf = PdfFileReader(open(InputFile2, "rb"))
output.cloneDocumentFromReader(new_pdf)
if existing_pdf.getNumPages() > output.getNumPages():
while existing_pdf.getNumPages() != output.getNumPages():
output.addBlankPage()
temp = io.BytesIO()
output.write(temp)
new_pdf = PdfFileReader(temp)
output = PdfFileWriter()
for PageNum in range(existing_pdf.getNumPages()):
page = existing_pdf.getPage(PageNum)
page.mergePage(new_pdf.getPage(PageNum))
output.addPage(page)
outputStream = open(OutputFile, "wb")
output.write(outputStream)
outputStream.close()
mergePDFs('HQ.pdf',"LSF.pdf","Mixed.pdf")
出现以下错误:
PdfReadWarning: Object 25 0 not defined. [pdf.py:1628]
Traceback (most recent call last):
File "c:/Users/Ram Vikas/Documents/PythonyRV/Tester.py", line 29, in <module>
mergePDFs('LSF.pdf',"HQ.pdf","Mixed.pdf")
File "c:/Users/Ram Vikas/Documents/PythonyRV/Tester.py", line 17, in mergePDFs
output.write(temp)
File "D:\Python3\lib\site-packages\PyPDF2\pdf.py", line 482, in write
self._sweepIndirectReferences(externalReferenceMap, self._root)
File "D:\Python3\lib\site-packages\PyPDF2\pdf.py", line 571, in _sweepIndirectReferences
self._sweepIndirectReferences(externMap, realdata)
File "D:\Python3\lib\site-packages\PyPDF2\pdf.py", line 547, in _sweepIndirectReferences
value = self._sweepIndirectReferences(externMap, value)
File "D:\Python3\lib\site-packages\PyPDF2\pdf.py", line 577, in _sweepIndirectReferences
newobj = data.pdf.getObject(data)
File "D:\Python3\lib\site-packages\PyPDF2\pdf.py", line 1631, in getObject
raise utils.PdfReadError("Could not find object.")
PyPDF2.utils.PdfReadError: Could not find object.
帮助。
解决方案
推荐阅读
- python - 如何在 Python 中逐个字符地删除 Tkinter StringVar?
- android - Android Studio 4.0 应用程序运行失败 1 次,共 2 次
- reactjs - 使用 Infinite Scroll 将广告放入 React SPA
- linux - Laravel 图像未在任何浏览器中显示,而 firefox 抛出“图像 x 无法显示,因为它包含错误”错误
- r - R管道工在响应有效负载中从env返回错误和对象
- javascript - 为什么我收到此错误 - 无法在“节点”上执行“appendChild”:新的子元素包含父元素
- sql - 在 SQL Server 中获取上一年的记录
- arrays - 使用 `form_with` 返回一个数组?
- python - 如何将定义函数的输出转换为列表?
- mysql - 将 .frm 和 ibdata 文件添加到 /var/lib/mysql 后 MariaDB 没有启动?