最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python中怎么将pdf内容显示出来?

    正文概述    2020-01-25   379

    python中怎么将pdf内容显示出来?

    python读取pdf文件需要使用pdfminer库,安装pdfminer库的命令如下:

    pip install pdfminer

    python读取pdf的文件如下:

    # coding=utf-8
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    import time
    time1=time.time()
    import os.path
    from pdfminer.pdfparser import PDFParser,PDFDocument
    from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
    from pdfminer.converter import PDFPageAggregator
    from pdfminer.layout import LTTextBoxHorizontal,LAParams
    from pdfminer.pdfinterp import PDFTextExtractionNotAllowed
    result=[]
    class CPdf2TxtManager():
      def __init__(self):
        '''''
        Constructor
        '''
      def changePdfToText(self, filePath):
        file = open(path, 'rb') # 以二进制读模式打开
        #用文件对象来创建一个pdf文档分析器
        praser = PDFParser(file)
        # 创建一个PDF文档
        doc = PDFDocument()
        # 连接分析器 与文档对象
        praser.set_document(doc)
        doc.set_parser(praser)
        # 提供初始化密码
        # 如果没有密码 就创建一个空的字符串
        doc.initialize()
        # 检测文档是否提供txt转换,不提供就忽略
        if not doc.is_extractable:
          raise PDFTextExtractionNotAllowed
        # 创建PDf 资源管理器 来管理共享资源
        rsrcmgr = PDFResourceManager()
        # 创建一个PDF设备对象
        laparams = LAParams()
        device = PDFPageAggregator(rsrcmgr, laparams=laparams)
        # 创建一个PDF解释器对象
        interpreter = PDFPageInterpreter(rsrcmgr, device)
        pdfStr = ''
        # 循环遍历列表,每次处理一个page的内容
        for page in doc.get_pages(): # doc.get_pages() 获取page列表
          interpreter.process_page(page)
          # 接受该页面的LTPage对象
          layout = device.get_result()
          for x in layout:
            if hasattr(x, "get_text"):
              # print x.get_text()
              result.append(x.get_text())
              fileNames = os.path.splitext(filePath)
              with open(fileNames[0] + '.txt','wb') as f:
                results = x.get_text()
                print(results)
                f.write(results + '\n')
    if __name__ == '__main__':
      '''''
       解析pdf 文本,保存到txt文件中
      '''
      path = u'C:/data3.pdf'
      pdf2TxtManager = CPdf2TxtManager()
      pdf2TxtManager.changePdfToText(path)
      # print result[0]
      time2 = time.time()
      print u'ok,解析pdf结束!'
      print u'总共耗时:' + str(time2 - time1) + 's'

    pdf文件如下:

    python中怎么将pdf内容显示出来?

    python读取结果如下:

    python中怎么将pdf内容显示出来?

    更多Python知识请关注Python自学网。


    下载网 » python中怎么将pdf内容显示出来?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元