Python中Pypdf包的断言错误
我在Windows平台上使用Python 2.4和PyPdf 1.13。
我想用下面的代码把一个列表里的PDF文件合并成一个文件:
import os
from pyPdf import PdfFileWriter, PdfFileReader
attached=["C:\\test\\T_tech.pdf","C:\\test\\00647165-Backup.pdf"]
output=PdfFileWriter()
maxpage=0
os.chdir("C:\\test")
name= attached[0]
name = os.path.basename(name).split('.')[0]
for nam in attached:
input= PdfFileReader(file(nam,"rb"))
maxpage=input.getNumPages()
for i in range(0,maxpage):
output.addPage(input.getPage(i))
outputStream =file("Output-"+name+".pdf","wb")
output.write(outputStream)
outputStream.close()
但是当我运行这段代码时,出现了以下错误。
Traceback (most recent call last):
File "C:\Python24\pdfmerge.py", line 13, in ?
input= PdfFileReader(file(nam,"rb"))
File "C:\Python24\Lib\site-packages\pyPdf\pdf.py", line 374, in __init__
self.read(stream)
File "C:\Python24\Lib\site-packages\pyPdf\pdf.py", line 847, in read
assert False
AssertionError
任何帮助都非常感谢。
1 个回答
1
根据来源:
# bad xref character at startxref. Let's see if we can find
# the xref table nearby, as we've observed this error with an
# off-by-one before.
stream.seek(-11, 1)
tmp = stream.read(20)
xref_loc = tmp.find("xref")
if xref_loc != -1:
startxref -= (10 - xref_loc)
continue
else:
# no xref table found at specified location
assert False
break
你遇到了那个“没有找到交叉引用表...”的情况。试着修改一下源代码,去掉那个检查,看看它是否还能正常工作。