zoukankan      html  css  js  c++  java
  • python3安装pdfminer并使用

    1.python3不同与2版本不能使用pdfminer

    pip install pdfminer3k
    

    2.使用pdfminer解析相应文档并保存到相应的文件夹中

    # encoding : udf-8
    
    """
    解析pdf文本保存到txt文件中
    """
    from pdfminer.converter import PDFPageAggregator
    from pdfminer.layout import LAParams, LTTextBoxHorizontal
    from pdfminer.pdfinterp import PDFTextExtractionNotAllowed, PDFResourceManager, PDFPageInterpreter
    from pdfminer.pdfparser import PDFDocument, PDFParser
    
    path = 'E:\force.pdf'
    
    
    def parse():
        fp = open(path, 'rb')   # 以二进制读模式打开
        praser = PDFParser(fp)
        # 创建一个PDF文档
        doc = PDFDocument()
        # 连接分析器 与文档对象
        praser.set_document(doc)
        doc.set_parser(praser)
    
        # 提供初始化密码
        # 如果没有密码 就创建一个空的字符串
        doc.initialize()
    
        # 检测文档是否提供txt转换,不提供就忽略
        if not doc.is_extractable:
            raise PDFTextExtractionNotAllowed
        else:
            # 创建PDf 资源管理器 来管理共享资源
            rsrcmgr = PDFResourceManager()
            # 创建一个PDF设备对象
            laparams = LAParams()
            device = PDFPageAggregator(rsrcmgr, laparams=laparams)
            # 创建一个PDF解释器对象
            interpreter = PDFPageInterpreter(rsrcmgr, device)
    
            # 循环遍历列表,每次处理一个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 isinstance(x, LTTextBoxHorizontal):
                        with open(r'E:\pdf1.txt', 'a') as f:
                            results = x.get_text()
                            print(results)
                            f.write(results + '
    ')
    
    if __name__ == '__main__':
        parse()
  • 相关阅读:
    TestNg JAVA 自动化单元测试框架Demo
    Python Unittest 自动化单元测试框架Demo
    Mac 安装工具包brew
    Mac 终端提示You have not agreed to the Xcode license agreements
    查看 ios 真机调试log,导出log
    Python WxPython 的安装以及使用
    RTMP协议抓包详解
    流媒体协议地址获取 rtmp
    手游-放开那三国socket协议分析
    jquery.tochart.js
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/11488949.html
Copyright © 2011-2022 走看看