Python批量提取PDF文件中文本的脚本


Posted in Python onMarch 14, 2018

本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下

首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库。

import os
import sys
import time

pdfs = (pdfs for pdfs in os.listdir('.') if pdfs.endswith('.pdf'))

for pdf1 in pdfs:
 pdf = pdf1.replace(' ', '_').replace('-', '_').replace('&', '_')
 os.rename(pdf1, pdf)
 print('='*30)
 print(pdf)
 
 txt = pdf[:-4] + '.txt'
 exe = '"' + sys.executable + '" "'
 pdf2txt = os.path.dirname(sys.executable)
 pdf2txt = pdf2txt + '\\scripts\\pdf2txt.py" -o '
 try:
 #调用命令行工具pdf2txt.py进行转换
 #如果pdf加密过可以改写下面的代码
 #在-o前面使用-P来指定密码
 cmd = exe + pdf2txt + txt + ' ' + pdf
 os.popen(cmd)
 #转换需要一定时间,一般小文件2秒钟足够了
 time.sleep(2)
 #输出转换后的文本,前200个字符
 with open(txt, encoding='utf8') as fp:
  print(fp.read(200))
 except:
 pass

来源:python小屋

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现带验证码网站的自动登陆实现代码
Jan 12 Python
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
May 21 Python
Django 视图层(view)的使用
Nov 09 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
Aug 21 Python
基于python进行抽样分布描述及实践详解
Sep 02 Python
pycharm激活码有效到2020年11月底
Sep 18 Python
Python生成器实现简单"生产者消费者"模型代码实例
Mar 27 Python
Python识别验证码的实现示例
Sep 30 Python
plt.figure()参数使用详解及运行演示
Jan 08 Python
Django集成富文本编辑器summernote的实现步骤
May 31 Python
深入理解Django的中间件middleware
Mar 14 #Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 #Python
浅谈python正则的常用方法 覆盖范围70%以上
Mar 14 #Python
Python使用matplotlib绘制多个图形单独显示的方法示例
Mar 14 #Python
Python使用matplotlib绘制余弦的散点图示例
Mar 14 #Python
使用Python从零开始撸一个区块链
Mar 14 #Python
Python使用matplotlib绘图无法显示中文问题的解决方法
Mar 14 #Python
You might like
点评山进PR-D3L三波段收音机
2021/03/02 无线电
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
ThinkPHP3.1新特性之G方法的使用
2014/06/19 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
php中filter_input函数用法分析
2014/11/15 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
温习Javascript基础语法之词法结构
2016/05/31 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
vue跨域解决方法
2017/10/15 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
JS如何把字符串转换成json
2020/02/21 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
[01:10]DOTA2亚洲邀请赛 征战号角响彻全场
2015/01/06 DOTA
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
英国电动工具购买网站:Anglia Tool Centre
2017/04/25 全球购物
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
银行职员思想汇报
2013/12/31 职场文书
同学聚会老师邀请函
2014/01/28 职场文书
民族精神月活动总结
2014/08/28 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis