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

yipeiwu_com5年前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下自己编写web框架的一些要点

在正式开始Web开发前,我们需要编写一个Web框架。 为什么不选择一个现成的Web框架而是自己从头开发呢?我们来考察一下现有的流行的Web框架: Django:一站式开发框架,但不...

Python进程间通信 multiProcessing Queue队列实现详解

一、进程间通信 IPC(Inter-Process Communication) IPC机制:实现进程之间通讯 管道:pipe 基于共享的内存空间 队列:pipe+锁的概念--->...

浅谈python装饰器探究与参数的领取

首先上原文: 现在,假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(De...

Python autoescape标签用法解析

Python autoescape标签用法解析

这篇文章主要介绍了Python autoescape标签用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.spaceless...

TensorFlow实现非线性支持向量机的实现方法

TensorFlow实现非线性支持向量机的实现方法

这里将加载iris数据集,创建一个山鸢尾花(I.setosa)的分类器。 # Nonlinear SVM Example #-----------------------------...