`
shuai1234
  • 浏览: 977486 次
  • 性别: 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 

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

分享到:
评论

相关推荐

    Python 3.6 中使用pdfminer解析pdf文件的实现

    本篇文章将详细讲解如何在Python 3.6环境中使用`pdfminer`来解析PDF文件。 首先,我们需要安装`pdfminer`模块。在Python 3.6环境下,可以使用`pip`来安装,命令是`pip install pdfminer3k`。确保你的Python环境已经...

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

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

    Python3.6 中文文档_Python3.6中文文档_

    3. **函数**:Python3.6中的函数可以有默认参数、关键字参数和可变参数。新增的`*`和`**`操作符用于解压参数列表。 4. **类与对象**:Python是面向对象的语言,支持类的定义、继承和多态。3.6版本中的类属性(class...

    9、手动安装Python3.6环境.pdf

    - `sudo ln -s python3.6 python`:创建一个新的符号链接,指向Python 3.6。 #### 知识点五:安装pip工具 pip是Python的包管理器,用于安装Python的第三方库。 - **安装pip**: - `sudo apt install python3-...

    Python3.6 中文文档.pdf

    这是一份python3.6的中文手册,如果有什么看不懂的地方可以参考本人的博客,https://blog.csdn.net/harry_c,里面对资源做了总结,扩展,归类,这份文档值得这积分,也值得你仔细研读。

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

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

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

    在`pythontutorial3-master`这个压缩包中,可能包含的是Python3.6的教程资料,它可能会详细讲解这些新特性的用法,以及Python3.6的基础知识,如数据类型、控制流、函数、类、模块、异常处理、文件和I/O、标准库等...

    Python3.6+中文文档.pdf

    Python 是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,并且能够用简单而又高效的 ...和编写 Python 模块或程序,并为以后使用 Python 参考手册 继续学习诸多 Python 模块库做好准备。

    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. **新函数和...

    pycocotools包文件,适用于python3.6

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

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

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

    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)

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

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

    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

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

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

Global site tag (gtag.js) - Google Analytics