读取pdf文件
pip是一个安装和管理python包的工具
在进行代码演示之前,首先进行安装和pdf相关的工具
-
在cmd中输入以下命令: pip list [作用:列出pip下安装的所有的工具]
-
安装pdfminer3k,继续输入以下命令:pip install pdfminer3k
-
代码演示
#导入系统库
import sys
import importlib
#对importlib做处理,让其加载sys
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和text转换
#将path文件中的内容读取到topath文件中
def readPDF(path, toPath):
#以二进制的形式打开pdf文件
f = open(path, 'rb')
#创建一个pdf文档分析器
parser = PDFParser(f)
#创建pdf文档
pdfFile = PDFDocument()
#获取连接分析器
parser.set_document(pdfFile)
#获取文档对象
pdfFile.initialize()
#检测文档是否提供txt转换
if not pdfFile.is_extractable:
#不允许转换
raise PDFTextExtractionNotAllowed
else:
#解析数据
#数据管理器
manger = PDFResourceManger()
#创建一个PDF设备对象
laparams = PDFPageAggregator(manager,laparams=laparams)
#解释器对象
interpreter = PDFPageInterpreter(manger,device)
#开始循环处理,每次处理一页
for page in pdfFile.get_pages():
interpreter.process_page(page)
layout = device.get_result()
for x in layout:
if(isinstance(x, LTTextBoxHorizontal)):
with open(toPath, 'a') as f:
str1 = x.get_text()
#print(str)
f.writer(str1 + "\n")
path = r"C:\Users\xlg\Desktop\001.pdf"
toPath = r"C:\Users\xlg\Desktop\001.pdf"
readPDF(path,toPath)