已有184人关注
转化后的pdf用PdfFileReader发生EOF marker not found错误
发表在Python图书答疑 2019-11-22 《Python项目开发案例集锦》第8章 Word助手 144页-0页
是否精华
版块置顶:

# 1 页码无法正确提取

Traceback (most recent call last):

  File "C:\Users\RSH\Desktop\PY\wordhelper\wordtopdf.py", line 219, in <module>

    outpath = getPdfOutlines(testpath,targetpath)

  File "C:\Users\RSH\Desktop\PY\wordhelper\wordtopdf.py", line 172, in getPdfOutlines

    mylist = getOutline(outlines,isList)    #递归获取大纲

  File "C:\Users\RSH\Desktop\PY\wordhelper\wordtopdf.py", line 196, in getOutline

    returnlist.append( o.get('/Title') + "\t\t" + str(o.get('/Page')+1) + "\n")  #页码提取不出来,是IndirectObject(132, 0)形式的对象

TypeError: unsupported operand type(s) for +: 'IndirectObject' and 'int'


# 2 转化后的PDF缺少EOF marker ,PdfFileReader读取是会发生错误,无法进行后续操作

Traceback (most recent call last):

  File "C:\Users\RSH\Desktop\PY\wordhelper\wordtopdf.py", line 219, in <module>

    outpath = getPdfOutlines(testpath,targetpath)

  File "C:\Users\RSH\Desktop\PY\wordhelper\wordtopdf.py", line 167, in getPdfOutlines

    doc = PdfFileReader(file)       #创建pdf的reader对象

  File "C:\Users\RSH\AppData\Local\Programs\Python\Python37\lib\site-packages\PyPDF2\pdf.py", line 1084, in __init__

    self.read(stream)

  File "C:\Users\RSH\AppData\Local\Programs\Python\Python37\lib\site-packages\PyPDF2\pdf.py", line 1696, in read

    raise utils.PdfReadError("EOF marker not found")

PyPDF2.utils.PdfReadError: EOF marker not found


请问该如何处理?


分享到:
精彩评论 2
Donald张
学分:691 LV6
无语_mrkj
学分:3155 LV11
2019-12-03
板凳

请问您安装的Word是什么版本?这个程序不能使用WPS,需要是微软的Word。另外,对于第二个问题,把生成的PDF删除了,再重新执行一次看看还有没有问题。我之前出现这个问题,好像是之前有生成PDF出错后,再运行就不行了。

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照