`
shuai1234
  • 浏览: 971787 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

Python 3.6 中使用pdfminer解析pdf文件

    博客分类:
  • java
 
阅读更多

所使用python环境为最新的3.6版本

 

一、安装pdfminer模块 

安装anaconda后,直接可以通过pip安装

 

pip install pdfminer3k

1

 

如上图所示安装成功。

 

二、在IDE中进行编码

 

#!/usr/bin/env python

# encoding: utf-8

 

"""

@author: wugang

@software: PyCharm

@file: prase_pdf.py

@time: 2017/3/3 0003 11:16

"""

import sys

import importlib

importlib.reload(sys)

 

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

 

'''

 解析pdf 文本,保存到txt文件中

'''

path = r'../../data/pdf/阿里巴巴Java开发规范手册.pdf'

def parse():

    fp = open(path, 'rb') # 以二进制读模式打开

    #用文件对象来创建一个pdf文档分析器

    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()

            # 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 想要获取文本就获得对象的text属性,

            for x in layout:

                if (isinstance(x, LTTextBoxHorizontal)):

                    with open(r'../../data/pdf/1.txt', 'a') as f:

                        results = x.get_text()

                        print(results)

                        f.write(results + '\n')

 

if __name__ == '__main__':

    parse()

--------------------- 

作者:W-大泡泡 

来源:CSDN 

原文:https://blog.csdn.net/u011389474/article/details/60139786 

版权声明:本文为博主原创文章,转载请附上博文链接!

分享到:
评论

相关推荐

    Python3.6 中文文档pdf+chm版本

    python 3.6的中文文档和chm查询手册。便于随时查阅。 Python 是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,并且能够用简单而又高效的 方式进行面向对象编程。Python 优雅的语法和动态类型,再...

    安装geopandas时(fiona,gdal)依赖,仅使适用python3.6

    在Python 3.6中安装`geopandas`,首先需要确保已经安装了`pip`,这是Python的标准包管理器,用于安装和管理Python软件包。如果尚未安装,可以通过以下命令进行安装: ```bash python -m ensurepip --upgrade ``` ...

    python3.6版本的dlib库

    尽管其主要为C++设计,但通过Python接口,dlib也能在Python环境中无缝使用,为Python开发者提供了强大的图像处理和模式识别能力。在Python 3.6版本中,dlib库的兼容性和稳定性得到了充分的保障,使得开发者能够在这...

    Python3.6_中文和英文文档

    同时,文档中还会涵盖标准库的使用,例如文件操作、网络编程、数据结构等。 对于进阶开发者,文档会深入到Python3.6的高级特性,如元编程、装饰器、上下文管理器、生成器以及异步编程等。此外,Python3.6 API文档将...

    python3.6及scikit-learn包

    在Windows环境下安装Python 3.6,可以使用提供的`python-3.6.2-amd64.exe`文件,这是一个图形用户界面安装程序,适用于64位系统。按照安装向导的步骤,可以选择自定义安装路径,同时勾选“将Python添加到系统路径”...

    python3.6安装包

    4. **集合推导式**:现在可以在集合类型(如set和dict)的创建中使用`{... for ... in ... if ...}`语法,使得创建集合更简洁。 5. **垃圾回收优化**:改进了垃圾回收机制,提高了内存管理的效率。 6. **新函数和...

    python-pcl库安装文件(python3.6)

    python-pcl库安装文件(python3.6)

    pycocotools包文件,适用于python3.6

    在Python3.6环境下,安装pycocotools通常需要编译,但提供的“pycocotools_py36”压缩包已经进行了预编译,可以直接放入Python的site-packages目录下使用,避免了安装过程中的依赖问题和编译步骤。这极大地方便了...

    wordcloud-1.9.2 for python3.6 包含频次增强版本

    wordcloud-1.9.2 包含频次增强版本 for python3.6和海龟编辑器,专门针对python 3.6 (在python3.6内,wordcloud-1.9.2无法支持pillow 8.4.0)

    Python3.6+中文文档pdf及3.5中文帮助手册chm

    在这个压缩包中,包含的是Python 3.6的中文文档PDF版本和Python 3.5的中文帮助手册CHM版本,这对于中文用户来说,是学习和查阅Python知识的重要资源。 首先,Python 3.6中文文档PDF提供了全面的官方文档翻译,涵盖...

    python3.6需要的包.zip

    python-3.6.0-amd64.exe 安装包,openpyxl必装的相关包 geopandas安装:Fiona-1.8.13-cp37-cp37m-win_amd64.whl GDAL-3.0.3-cp37-cp37m...pywin32+python3.6+32与64位打包_156_573127.exe beautifulsoup4-4.9.0.tar.zip

    ubuntu16.04安装python3.6.docx

    一旦源被成功添加,就可以安装Python 3.6了,使用命令`sudo apt install python3.6`。 安装完成后,为了设置Python 3.6作为默认的Python 3版本,需要使用`update-alternatives`工具调整优先级。运行以下命令: - `...

    VSCode中Python插件的降级版本,适用于Python3.6版本的解释器

    VSCode中Python插件的降级版本,适用于Python3.6版本的解释器 由于python开发组已停止对python3.6的维护,导致vscode当前新版本的python插件无法使用,且无法对代码debug,因此备份了之前的小于3.7版本的Python插件...

    Yolov5,支持python3.6版本,目前官方版本为3.8。

    2. **数据增强**:YOLOv5在训练过程中使用了丰富的数据增强技术,如随机缩放、翻转、颜色调整等,以增加模型的泛化能力。 3. **多尺度训练**:YOLOv5通过多尺度训练策略,让模型在不同大小的输入图像上进行学习,...

    Python3.6中文手册(官方文档)

    通过阅读《Python3.6中文手册》,开发者可以深入理解Python语言的每一个细节,无论是语法特性还是标准库的使用,都能找到详尽的解释和示例,为编程实践提供坚实的理论基础。无论是初学者还是高级开发者,都应该将其...

    python3.6中文官方文档

    这个中文官方文档是为开发者提供的一份详尽参考资料,旨在帮助他们更好地理解和使用Python 3.6进行软件开发。 一、新特性与语法改进 1. **变量赋值解构**:Python 3.6引入了更灵活的解构赋值,允许在元组、列表和...

    python3.6安装dlib,不用安装cmake

    标题提到的"python3.6安装dlib,不用安装cmake",意味着我们将探讨如何跳过CMake和Boost的安装步骤,直接使用预编译的dlib轮子文件进行安装。这种方法的优点是简化了安装流程,减少了可能出现的依赖问题。 首先,让...

    python3.6的IDE开发环境

    在配置Python 3.6的开发环境时,首先需要确定系统中已经安装了Python 3.6版本的解释器。接下来,可以使用PyCharm创建一个工程,设置Python解释器为Python 3.6版本。这通常涉及几个步骤,包括下载安装PyCharm、新建...

    win-python3.6-fiona安装包

    win-python3.6-fiona安装包

Global site tag (gtag.js) - Google Analytics