所使用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文件。 首先,我们需要安装`pdfminer`模块。在Python 3.6环境下,可以使用`pip`来安装,命令是`pip install pdfminer3k`。确保你的Python环境已经...
python 3.6的中文文档和chm查询手册。便于随时查阅。 Python 是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,并且能够用简单而又高效的 方式进行面向对象编程。Python 优雅的语法和动态类型,再...
3. **函数**:Python3.6中的函数可以有默认参数、关键字参数和可变参数。新增的`*`和`**`操作符用于解压参数列表。 4. **类与对象**:Python是面向对象的语言,支持类的定义、继承和多态。3.6版本中的类属性(class...
- `sudo ln -s python3.6 python`:创建一个新的符号链接,指向Python 3.6。 #### 知识点五:安装pip工具 pip是Python的包管理器,用于安装Python的第三方库。 - **安装pip**: - `sudo apt install python3-...
这是一份python3.6的中文手册,如果有什么看不懂的地方可以参考本人的博客,https://blog.csdn.net/harry_c,里面对资源做了总结,扩展,归类,这份文档值得这积分,也值得你仔细研读。
在Python 3.6中安装`geopandas`,首先需要确保已经安装了`pip`,这是Python的标准包管理器,用于安装和管理Python软件包。如果尚未安装,可以通过以下命令进行安装: ```bash python -m ensurepip --upgrade ``` ...
在`pythontutorial3-master`这个压缩包中,可能包含的是Python3.6的教程资料,它可能会详细讲解这些新特性的用法,以及Python3.6的基础知识,如数据类型、控制流、函数、类、模块、异常处理、文件和I/O、标准库等...
Python 是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,并且能够用简单而又高效的 ...和编写 Python 模块或程序,并为以后使用 Python 参考手册 继续学习诸多 Python 模块库做好准备。
尽管其主要为C++设计,但通过Python接口,dlib也能在Python环境中无缝使用,为Python开发者提供了强大的图像处理和模式识别能力。在Python 3.6版本中,dlib库的兼容性和稳定性得到了充分的保障,使得开发者能够在这...
同时,文档中还会涵盖标准库的使用,例如文件操作、网络编程、数据结构等。 对于进阶开发者,文档会深入到Python3.6的高级特性,如元编程、装饰器、上下文管理器、生成器以及异步编程等。此外,Python3.6 API文档将...
在Windows环境下安装Python 3.6,可以使用提供的`python-3.6.2-amd64.exe`文件,这是一个图形用户界面安装程序,适用于64位系统。按照安装向导的步骤,可以选择自定义安装路径,同时勾选“将Python添加到系统路径”...
4. **集合推导式**:现在可以在集合类型(如set和dict)的创建中使用`{... for ... in ... if ...}`语法,使得创建集合更简洁。 5. **垃圾回收优化**:改进了垃圾回收机制,提高了内存管理的效率。 6. **新函数和...
在Python3.6环境下,安装pycocotools通常需要编译,但提供的“pycocotools_py36”压缩包已经进行了预编译,可以直接放入Python的site-packages目录下使用,避免了安装过程中的依赖问题和编译步骤。这极大地方便了...
python-pcl库安装文件(python3.6)
wordcloud-1.9.2 包含频次增强版本 for python3.6和海龟编辑器,专门针对python 3.6 (在python3.6内,wordcloud-1.9.2无法支持pillow 8.4.0)
2. **数据增强**:YOLOv5在训练过程中使用了丰富的数据增强技术,如随机缩放、翻转、颜色调整等,以增加模型的泛化能力。 3. **多尺度训练**:YOLOv5通过多尺度训练策略,让模型在不同大小的输入图像上进行学习,...
在这个压缩包中,包含的是Python 3.6的中文文档PDF版本和Python 3.5的中文帮助手册CHM版本,这对于中文用户来说,是学习和查阅Python知识的重要资源。 首先,Python 3.6中文文档PDF提供了全面的官方文档翻译,涵盖...
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版本的解释器 由于python开发组已停止对python3.6的维护,导致vscode当前新版本的python插件无法使用,且无法对代码debug,因此备份了之前的小于3.7版本的Python插件...