问答详情
源自:5-5 python读取PDF文档(二)

帮忙找错。谢谢了

# -*- coding: utf-8 -*-
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams
from pdfminer.pdfparser import PDFParser,PDFDocument
from pdfminer.pdfinterp import PDFResourceManager,PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice
from urllib.request import urlopen

# fp = open("ReferenceCard.pdf","rb") # 获取文档对象,“rb”表示以二进制读的方式打开
fp = urlopen("http://www.tencent.com/zh-cn/articles/8003251479983154.pdf")
parser = PDFParser(fp) #创建一个与文档关联的解释器

doc = PDFDocument() # PDF文档的对象

parser.set_document(doc) # 链接文档对象
doc.set_parser(parser) # 链接解释器

doc.initialize("") # 初始化文档,如果该文档有加密,则密码写在“”里

resource = PDFResourceManager # 创建PDF资源管理器

laparam = LAParams() # 创建参数分析器

device = PDFPageAggregator(resource,laparams=laparam) # 创建一个聚合器,接收PDF资源管理器和参数解析器

interpreter = PDFPageInterpreter(resource,device) # 创建PDF页面解释器,需要PDF资源管理器和聚合器

for page in doc.get_pages(): # 使用文档对象得到页面的集合
   interpreter.process_page(page) # 使用页面解释器来读取
   layout = device.get_result() # 使用聚合器来获取内容
   for out in layout:
       if hasattr(out,"get_text"):
           print(out.get_text())


以下是报错:

http://img1.mukewang.com/59be4ed90001983611870330.jpg


(忽略下面这张图)

提问者:qq_大屎_0 2017-09-17 18:31

个回答

  • seac
    2018-06-25 22:36:50

    resource = PDFResourceManager()# 创建PDF资源管理器

    缺括号

  • qq_大屎_0
    2017-09-17 18:33:04

    忽略最后一张图