python读取pdf文本内容的方法:首先打开相应的python脚本文件;然后使用PDFMiner工具来读取pdf文本内容;最后通过print输出读取后的内容即可。

python读取pdf文本内容

python处理pdf也是常用的技术了,对于python3来说,pdfminer3k是一个非常好的工具。

PDFMiner是一个可以从PDF文档中提取信息的工具。与其他PDF相关的工具不同,它注重的完全是获取和分析文本数据。

PDFMiner允许你获取某一页中文本的准确位置和一些诸如字体、行数的信息。它包括一个PDF转换器,可以把PDF文件转换成HTML等格式。它还有一个扩展的PDF解析器,可以用于除文本分析以外的其他用途。pip install pdfminer3k

首先,为了满足大部分人的需求,我先给一个通用一点的脚本来读取pdf中的文本:from io import StringIO

from io import open

from pdfminer.converter import TextConverter

from pdfminer.layout import LAParams

from pdfminer.pdfinterp import PDFResourceManager, process_pdf

def read_pdf(pdf):

# resource manager

rsrcmgr = PDFResourceManager()

retstr = StringIO()

laparams = LAParams()

# device

device = TextConverter(rsrcmgr, retstr, laparams=laparams)

process_pdf(rsrcmgr, device, pdf)

device.close()

content = retstr.getvalue()

retstr.close()

# 获取所有行

lines = str(content).split("\n")

return lines

if __name__ == '__main__':

with open('t1.pdf', "rb") as my_pdf:

print(read_pdf(my_pdf))

我主要是想在pdf中抽出自己想要的一些关键信息,所以需要找到这些信息的共同点。幸运的是,这些关键信息的行都含有'//',所以我只需找到含有'//'的行就行了,于是写了以下脚本。

这样就可以直接使用了,我们先看脚本:from io import StringIO

from io import open

from pdfminer.converter import TextConverter

from pdfminer.layout import LAParams

from pdfminer.pdfinterp import PDFResourceManager, process_pdf

def read_pdf(pdf):

# resource manager

rsrcmgr = PDFResourceManager()

retstr = StringIO()

laparams = LAParams()

# device

device = TextConverter(rsrcmgr, retstr, laparams=laparams)

process_pdf(rsrcmgr, device, pdf)

device.close()

content = retstr.getvalue()

retstr.close()

# 获取所有行

lines = str(content).split("\n")

units = [1, 2, 3, 5, 7, 8, 9, 11, 12, 13]

header = '\x0cUNIT '

# print(lines[0:100])

count = 0

flag = False

text = open('words.txt', 'w+')

for line in lines:

if line.startswith(header):

flag = False

count += 1

if count in units:

flag = True

print(line)

text.writelines(line + '\n')

if '//' in line and flag:

text_line = line.split('//')[0].split('. ')[-1]

print(text_line)

text.writelines(text_line+'\n')

text.close()

def _main():

my_pdf = open('t1.pdf', "rb")

read_pdf(my_pdf)

my_pdf.close()

if __name__ == '__main__':

_main()

其实看到lines = str(content).split("\n")那一行就够了,我们可以把lines都print出来,就可以看到pdf里面的内容。

这样我们就可以把pdf文件处理看作简单的字符串数据处理了。接下来的脚本操作也不用过多解释了。

更多相关知识,请访问 PHP中文网!!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

python怎么读取pdf为文本_python怎么读取pdf文本内容相关推荐

  1. python docx 合并文档 图片_Python+pymupdf处理PDF文档案例6则

    推荐图书:<Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),清华大学出版社,2020年6月第1次印刷,7月第2次印刷 京东购买链接:https://it ...

  2. python docx 合并文档 图片_python玩转pdf全攻略

    本篇说点轻松的,聊下Python对pdf的各种操作,包含pdf转word,pdf转图片等. pdf转换word文档 保留格式 pdf转换为word文档,被大众经常使用的是纯Python库pdfmine ...

  3. python pdf 加水印_Python实现给PDF添加水印的方法

    前言 本文针对 仅有 PDF 文件,而无相关 PDF 编辑器的情况下,给 PDF 添加水印. 一.前期准备 安装 PyPDF2 ,命令提示框输入: pip install PyPDF2 新建 wate ...

  4. python中几种读取文件的方法_python 逐行读取文件的几种方法

    Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修 ...

  5. python读取文件详解_python 文件读取方法详解

    #绝对路径# f =开放(' \/用户\/方\/下载\/我的古诗.文本的模式= ' r ',编码= ' utf - 8\u201D) =() # #内容打印(内容)#()#相对路径f =开放(\u20 ...

  6. python pdf 加水印_Python批量给PDF加水印,10秒搞定“不可编辑”的PDF!

    在日常的工作中,我们经常需要和PDF文件打交道,PDF的处理,比如修改文字.增减页面等,都是非常麻烦的,相信大家有共同的感受. 有时我们还需要对PDF添加水印,野生的PDF工具都是给单个PDF添加水印 ...

  7. python爬取微博文本_Python爬虫爬取新浪微博内容示例【基于代理IP】

    本文实例讲述了Python爬虫爬取新浪微博内容.分享给大家供大家参考,具体如下: 用Python编写爬虫,爬取微博大V的微博内容,本文以女神的微博为例(爬新浪m站:https://m.weibo.cn ...

  8. python加载图片并显示_python OpenCV 读取并显示图像

    读入图像 读入图像使用cv2.imread(). 读取方式: cv2.IMREAD_COLOR:读取一副彩色图像,图像的透明度会被忽略,这是默认参数 cv2.IMREAD_GRAYSCALE:以灰度图 ...

  9. python批量提取pdf的数据_Python批量提取PDF文件中文本的脚本

    本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import ...

最新文章

  1. 第一课.图与图神经网络
  2. 野指针出现的三种情况
  3. 数据结构之单链表(头结点)的一些常用操作(增删改查逆)
  4. 每天进步一点点017
  5. 大唐豪侠服务器列表文件格式错误,[动态] 大唐豪侠1.2.4版本更新公告-大唐豪侠-东北游戏网...
  6. websql mysql_HTML5 Web SQL 数据库 | 菜鸟教程
  7. unity 引用prefab_Unity基础教程-对象管理(二)——对象多样化(Fabricating Shapes)...
  8. 十大Excel函数(一)
  9. Matlab中sqrt函数的用法
  10. Xilinx差分输入时钟100Ω终端电阻设置
  11. 计算机03年word做母亲节贺卡,word2007怎样制作电子母亲节贺卡
  12. 迅睿CMS插件自动采集伪原创免费插件
  13. 雪上加霜!吴秀波在《雪豹》中被除名
  14. 失眠的岁月,我们都交了哪些科技智商税?
  15. 关于数学分支与数学家的一个故事
  16. 行走在前端路上的一些想法
  17. 最全的WiFi速率对应表(802.11b、802.11g、802.11a、802.11n、802.11ac、802.11ax)及速率计算方法
  18. java正则基本用法
  19. 最适合家用的洗地机哪个牌子好?最好用的洗地机推荐
  20. Mac最佳视频编辑器推荐

热门文章

  1. Mysql学习(三)之数据库管理工具Navicat
  2. Coins and Queries(map迭代器+贪心)
  3. 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享
  4. hystrix源码小贴士之Yammer Publisher
  5. Ubantu中安装sublime
  6. Jquery对象和dom对象获取html的方法
  7. CentOS常用指令
  8. Redis源码解析:14Redis服务器与客户端间的交互
  9. ultraEdit-32 PHP/HTML智能提示
  10. resin设置jvm参数