环境说明

windows10系统

python3.6版本

安装

网上很多说需要安装pdfminer3k和pdfminer3k.six,我尝试了先安装pdfminer3k后安装pdfminer3k.six,但是安装后都会导致pdfminer3k里面的相关包不见了,最终我发现提取pdf文件中的文字,只需要安装pdfminer3k.six一个包即可

安装语句

pip install pdfminer3k.six

python实现

提取pdf文件中的文字,具体python脚本如下

import os
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.layout import LAParams
from pdfminer.converter import TextConverter
from pdfminer.pdfpage import PDFPage
from io import StringIO
output_string = StringIO()def changePdfToText(filePath):with open(filePath, 'rb') as in_file:# 用文件对象来创建一个pdf文档分析器parser = PDFParser(in_file)# 创建一个PDF文档对象存储文档结构,提供密码初始化,没有就不用传该参数doc = PDFDocument(parser)# 创建PDf 资源管理器 来管理共享资源如字体,图表等,默认缓存,如果caching = False不缓存rsrcmgr = PDFResourceManager()# 创建一个PDF设备对象laparams = LAParams()# 创建一个PDF页面聚合对象device = TextConverter(rsrcmgr, output_string, laparams=laparams)# 创建一个PDF解析器对象interpreter = PDFPageInterpreter(rsrcmgr, device)# 循环遍历列表,每次处理一个page的内容for page in PDFPage.create_pages(doc):interpreter.process_page(page)fileNames = os.path.splitext(filePath)with open(fileNames[0] + '_test.txt','a+',encoding="utf-8") as f:results = output_string.getvalue()print(results)f.write(results + 'n')if __name__ == '__main__':filePath = '1.pdf'changePdfToText(filePath)

运行结果

总结

从上面的结果可以看到,识别文字的效果还挺好,同时还可以识别表格中的文字,但是有些特殊的表格,它们的文字不能被识别出来,目前还没找到原因。

目前还没有接触到专门识别表格的相关内容,后续如果深入研究,会做相关总结。

vscode中打开pdf文件_提取pdf文件中的文字相关推荐

  1. Office系列---将Office文件(Word、PPT、Excel)转换为PDF文件,提取Office文件(Word、PPT)中的所有图片

    将Office文件转换为PDF文件,提取Office文件中的所有图片 1.Office系列---将Office文件(Word.PPT.Excel)转换为PDF文件 1.1 基于Office实现的解决方 ...

  2. 如何拆分PDF文件或提取PDF页面为一个单独文件?

    如何拆分PDF文件或提取PDF页面为一个单独文件?无论是工作还是生活中,我们都经常接触PDF文件,PDF格式文件在阅读体验感上无疑是极佳的,但如果一个PDF文件内容过大,页数过长,每次打开PDF文档速 ...

  3. .Net 6.0中的新增特性_.Net 6.0中的新增功能

    .Net 6.0中的新增特性_.Net 6.0中的新增功能 一..Net 6 介绍 .NET 6 作为 LTS 长期支持版本,.NET 6 将会获得 3 年的技术支持. .NET 6 是首个原生支持 ...

  4. 制作ISO文件 与 提取ISO文件

    制作ISO文件 与 提取ISO文件 一.制作 ISO 文件 1.文件---->新建-->数据光盘映像 2.添加文件夹 3.存储为 ISO文件 二.打开 ISO 文件 成功后:

  5. java s.charat_Java中s.charAt(index)用于提取字符串s中的特定字符操作

    charAt(int index)方法是一个能够用来检索特定索引下的字符的String实例的方法. charAt()方法返回指定索引位置的char值.索引范围为0~length()-1. 如: str ...

  6. css如何保留空格,HTML/CSS中的空格处理_如何保留页面中的空格

    html中的空格的规则 在html中内容中的多个空格一般会被视为一个,连续的多个空格符被自动合并了.同时内容前后的空格也会被清除, 如下: fly63 com 显示效果为: fly63 com 备注: ...

  7. amp jsp空格 nps_HTML/CSS中的空格处理\_如何保留页面中的空格【转】

    HTML/CSS中的空格处理\_如何保留页面中的空格[转] HTML中的空格的规则 在html中内容中的多个空格一般会被视为一个,连续的多个空格符被自动合并了.同时内容前后的空格也会被清除, 如下: ...

  8. mac命令行将输出写入文件_如何在Linux中使用命令行将PDF文件转换为可编辑文本...

    mac命令行将输出写入文件 There are various reasons why you might want to convert a PDF file to editable text. M ...

  9. 怎么用迅捷PDF转换器在线提取PDF文件中的图片

    大家在学习或者是办公中经常使用到PDF文件,我们在做一份工作文件的时候,需要一些资料来补充内容,这些资料是以PDF文件格式呈现,在使用PDF文件时,文件中有的图片做到很精细,想要单独提取保存下来备用. ...

最新文章

  1. 内网安全新趋势之应对移动设备的威胁
  2. 如何在运行时确定对象类型(RTTI)
  3. 小米出招黑科技,5S或成全球首款”Under glass“指纹识别手机
  4. oracle 12.2.0.1 搭建 active dataguard
  5. c语言案例游戏,C语言实现五子棋游戏的案例
  6. leetcode题解8-盛最多水的容器
  7. 【Nodejs六】关于mongodb那些事
  8. Windows 8实例教程系列 - 布局控制
  9. 【微软商店(Microsoft Store)重置后打不开,商店下载不了应用的解决方法】
  10. matlab步长教程,matlab实验加速步长法.doc
  11. 网页web腾讯云webIM开发记录(一)
  12. Hive:常用系统函数-聚合函数
  13. 春季实习生校园招聘总结
  14. 抖音小视频、千图网图片等多平台的微航去水印微信小程序工具解析
  15. 已解决:Failure to find com.oracle:ojdbc6:jar:11.2.0.4.0-atlassian-hosted
  16. 三菱PLC第一篇:GXWORK3与三菱FX5UPLC同通过交换机连接
  17. Mac的brew和brew cask区别
  18. 【UCIe】UCIe 数据完整性
  19. 数据分析之共同好友统计
  20. php中怎么找到sql数据库,php – 如何使用纬度和经度从sql数据库中找到最近的位置?...

热门文章

  1. vb combox获取选定index_Python-新闻评论获取
  2. Python列表:list
  3. python3中求0-100的和
  4. js中追加写入文件(字符串追加)_note
  5. html equls比较方法,编写高质量equals方法
  6. 数据库 统计数据收集 有什么作用_《原神》荒山孤剑录2/5收集汇总 荒山孤剑录作用是什么...
  7. java获取焦点_[Java教程]dialog获取焦点
  8. mysql 数据增量备份_MySQL数据库之mysql全量备份、增量备份实现方法
  9. 电子商务数据挖掘python案例_精心整理!9个 Python 实用案例分享!
  10. python实现ai聊天机器人_AI人工智能Python实现简单人机对话:你好,人类!