python 使用pdfminer3k 读取PDF文档的例子

yipeiwu_com7年前Python基础

1、安装 pdfminer3k

通过pip安装: pip install pdfminer3k

下载安装:在网页 https://pypi.org/project/pdfminer3k/1.3.1/#files 进行下载,解压。然后cmd命令进入到当前文件夹:

可以直接在资源管理器的路径栏直接输入cmd进入到当前目录。然后执行 python setup.py install 等待安装完成


2.读取pdf中的TXT代码示例:

from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams
from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice

# 可以使用此方法获取网络上的pdf
from urllib.request import urlopen
fp = urlopen("https://******/articles/800348152163.pdf")

#获取文档对象
#fp = open("****.pdf", "rb")

#创建一个一个与文档关联的解释器
parser = PDFParser(fp)

#PDF文档的对象
doc = PDFDocument()

#连接解释器和文档对象
parser.set_document(doc)
doc.set_parser(parser)

#初始化文档,当前文档没有密码,设为空字符串
doc.initialize("")

#创建PDF资源管理器
resource = PDFResourceManager()

#参数分析器
laparam = LAParams()

#创建一个聚合器
device = PDFPageAggregator(resource, laparams=laparam)

#创建PDF页面解释器
interpreter = PDFPageInterpreter(resource, device)

#使用文档对象得到页面的集合
for page in doc.get_pages():
 # 使用页面解释器读取
 interpreter.process_page(page)

 # 使用聚合器来获得内容
 layout = device.get_result()

 for out in layout:
  if hasattr(out, "get_text"):
   print(out.get_text())

以上这篇python 使用pdfminer3k 读取PDF文档的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django中更新多个对象数据与删除对象的方法

更新多个对象 例如说我们现在想要将Apress Publisher的名称由原来的”Apress”更改为”Apress Publishing”。若使用save()方法,如: >&...

Python中的id()函数指的什么

Python官方文档给出的解释是 id(object) Return the “identity” of an object. This is an integer (or long i...

Python 实现「食行生鲜」签到领积分功能

Python 实现「食行生鲜」签到领积分功能

用过食行生鲜的同学应该知道,每天可以在食行生鲜签到,签到可以领到 20 积分,在购物时可以抵 2 毛钱。钱虽少,但是积少成多,买菜时可以抵扣一两块钱还是不错的。 今天我们就用 Pytho...

解决Pycharm下面出现No R interpreter defined的问题

解决Pycharm下面出现No R interpreter defined的问题

安装Pycharm进行Python开发时,经常右下角提示No R interpreter defined,处理方式: 1、安装R,然后将R的路径添加到Pycharm中: 2、如果不需要...

python 定义给定初值或长度的list方法

python 定义给定初值或长度的list方法

1. 给定初值v,和长度l,定义list s 或者: 2. 产生一个数值递增list 2.1 从0开始以1递增 2.2 在[a,b)区间上以1递增 2.3 在[a,b)区间上以c...