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

yipeiwu_com6年前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设计】。

相关文章

python如何去除字符串中不想要的字符

问题:     过滤用户输入中前后多余的空白字符       ‘    ++++abc123---    ‘     过滤某w...

Python通过Manager方式实现多个无关联进程共享数据的实现

Python实现多进程间通信的方式有很多种,例如队列,管道等。 但是这些方式只适用于多个进程都是源于同一个父进程的情况。 如果多个进程不是源于同一个父进程,只能用共享内存,信号量等方式,...

详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)

详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)

Numpy中提供了concatenate,append, stack类(包括hsatck、vstack、dstack、row_stack、column_stack),r_和c_等类和函数...

python list删除元素时要注意的坑点分享

我们直接先给出输出与预期不同的代码 In[28]: a = [1,2,3,4,5,6] In[29]: for i in a: ...: a.remove(i) ...:...

python中aioysql(异步操作MySQL)的方法

python异步IO初探 探索异步IO执之前,先说说IO的种类 1.阻塞IO最简单,即读写数据时,需要等待操作完成,才能继续执行。进阶的做法就是用多线程来处理需要IO的部分,缺点是开销会...