一:这是我在解析读取pdf文件时,遇到的困难,查阅好多资料,感觉必须在国外网才能找到ans
具体是在循环读取页面文件——这个函数 pdfminer.get_pages 时,您会收到以下异常:
Traceback (most recent call last):
File “E:/process_PDF_1.0/AnalysisFIle_Value.py”, line 101, in
parse()
File “E:/process_PDF_1.0/AnalysisFIle_Value.py”, line 74, in parse
for page in doc.get_pages(): # doc.get_pages() 获取page列表
File “E:\process_PDF_1.0\ven\lib\site-packages\pdfminer\pdfparser.py”, line 569, in get_pages
yield PDFPage(self, pageid, tree)
File “E:\process_PDF_1.0\ven\lib\site-packages\pdfminer\pdfparser.py”, line 237, in init
self.rotate = (self.attrs.get(‘Rotate’, 0)+360) % 360
TypeError: unsupported operand type(s) for +: ‘PDFObjRef’ and ‘int’
解决方法:
1、问题这在PDFPage.__init__函数中 pdfminer.pdfparser 中的代码造成的:
self.rotate = (self.attrs.get(‘Rotate’, 0)+360) % 360
当 Rotate 字段是对象引用而不是整数时,就会出现问题。当我们将对象引用添加到一个整数时,我们会得到一个异常。解决方案是将该行**
更改为以下内容:
**
self.rotate = (resolve1(self.attrs.get(‘Rotate’, 0))+360) % 360