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

yipeiwu_com7年前Python基础

本文实例为大家分享了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实现的堆排序算法示例

Python实现的堆排序算法示例

本文实例讲述了Python实现的堆排序算法。分享给大家供大家参考,具体如下: 堆排序的思想: 堆是一种数据结构,可以将堆看作一棵完全二叉树,这棵二叉树满足,任何一个非叶节点的值都不大于(...

python中urlparse模块介绍与使用示例

简介 urlparse模块主要是用于解析url中的参数  对url按照一定格式进行 拆分或拼接。urlparse库用于把url解析为各个组件,支持file,ftp,http,h...

非递归的输出1-N的全排列实例(推荐)

网易游戏笔试题算法题之一,可以用C++,Java,Python,由于Python代码量较小,于是我选择Python语言。 算法总体思路是从1,2,3……N这个排列开始,一直计算下一个排列...

Django使用模板后无法找到静态资源文件问题解决

环境配置 Django版本1.11 python版本3.6.2 前言 在编写Django网站的时候,在涉及模板方面,一些简单的例子都没有问题,但这些例子都有一个共同点,那...

pytorch的梯度计算以及backward方法详解

pytorch的梯度计算以及backward方法详解

基础知识 tensors: tensor在pytorch里面是一个n维数组。我们可以通过指定参数reuqires_grad=True来建立一个反向传播图,从而能够计算梯度。在pytorc...