from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter, PDFTextExtractionNotAllowed
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LTTextBoxHorizontal, LAParams, LTTextLineHorizontal, LTFigure, LTRect, LTLine, LTCurve
import os class PdfForString(object):
def __init__(self):
self.pdf_list = os.listdir(r'E:\StockExchange\PDF') # 获取PDF文件夹中所有pdf名称
# 存储文档资源
self.src = PDFResourceManager()
# 设备对象
self.device = PDFPageAggregator(self.src, laparams=LAParams())
# 解释器对象
self.inter = PDFPageInterpreter(self.src, self.device) # 生成pdf路径
def for_string(self):
for pdf in self.pdf_list:
pdf_path = os.path.join(os.path.dirname(os.path.dirname(__file__)) + '/PDF', pdf)
yield pdf_path # 解析pdf
def pdf_analysis(self):
for path in self.for_string():
pd_file = open(path, 'rb')
parser = PDFParser(pd_file) # pdf文件解析对象 # pdf文档对象
document = PDFDocument()
parser.set_document(document)
document.set_parser(parser)
pages = document.get_pages()
yield pages # 获取PDF信息
def get_string(self):
for pages in self.pdf_analysis():
for page in pages:
self.inter.process_page(page)
layout = self.device.get_result()
for x in layout:
if isinstance(x, LTTextBoxHorizontal):
print(str(x.get_text()))
# break PdfForString().get_string()

  

pdfminer批量处理PDF文件的更多相关文章

  1. 怎样批量删除PDF文件中的注释

    日常我们在阅读一些PDF文章时候,我们会发现有些PDF文章带有非常多的注释,显得非常不美观,影响了阅读体验.那么PDF文章里的批注应该怎么进行删除呢?怎样批量删除PDF文件中的注释?   操作教程: ...

  2. php 查询mysql数据批量转为PDF文件二(批量使用wkhtmltopdf html导出PDF)

    上节讲到配置wkhtmltopdf,这节讲下如何批量操作 首先讲下wkhtmltopdf如何使用 直接命令行输入: wkhtmltopdf http://www.baidu.com/  baidu.p ...

  3. php批量导出pdf文件的脚本(html-PDf)

    背景:突然有大量的文件需要导出成PDF文件,写一个批量导出pdf的脚本,同时文件的命名也需要有一定的规则 导出方式:向服务器中上传csv文件,csv文件中包含文件的地址和相对应的文件命名. 如下格式: ...

  4. 个人永久性免费-Excel催化剂功能第88波-批量提取pdf文件信息(图片、表格、文本等)

    日常办公场合中,除了常规的Excel.Word.PPT等文档外,还有一个不可忽略的文件格式是pdf格式,而对于想从pdf文件中获取信息时,常规方法将变得非常痛苦和麻烦.此篇给大家送一pdf文件提取信息 ...

  5. word批量转pdf文件快捷方法。

    最近在工作中因为要遇到大量的Word文件转化为PDF文件来实现平台的迁移.但是由于文件太多,手动很费力,想到了用代码的方式: 复制下面的代码,保存的记事本,另存为vbs文件:然后把这个vbs文件放到你 ...

  6. 使用Python批量合并PDF文件(带书签功能)

    网上找了几个合并pdf的软件,发现不是很好用,一般都没有添加书签的功能. 又去找了下python合并pdf的脚本,发现也没有添加书签的功能的. 于是自己动手编写了一个小工具,使用了PyPDF2. 下面 ...

  7. 将doc文件批量转为pdf文件

    需要将不少doc文件转为pdf,WPS带有这种功能,但是鼠标点击次数太多以后整个人都变得很烦躁 用了一下午去搜这方面的工具软件,找到若干.有一些免费,有一些试用的,但总归就找到一个真正能用,虽说生成的 ...

  8. php 查询mysql数据批量转为PDF文件一(mac使用配置wkhtmltopdf html导出PDF)

    数据转标准PDF查文档,查资料先转HTML标准格式再html转PDF 转PDF wkhtmltopdf工具是最佳选择 首先下载wkhtmltopdf https://wkhtmltopdf.org/d ...

  9. winfrom 实现条形码批量打印以及将条形码信息生成PDF文件

    最近,老大让给客户做个邮包管理程序.其中,包括一些基本信息的增.删.查和改,这些倒不是很难搞定它分分钟的事.其主要难点就在于如何生成条形码.如何批量打印条形码以及将界面条形码信息批量生成以其各自的 b ...

随机推荐

  1. java日历类(calendar),可输出年月日等等,以及和Date相互转化

    日历创建对象: Calendar类为抽象类,不可实例化 方式一: 父类引用指向类对象 Calendar  cal = new GregorianCalendar(); 方式二: Calendar ca ...

  2. 【剑指offer】面试题 23. 链表中环的入口节点

    面试题 23. 链表中环的入口节点

  3. 一起来学Spring Cloud | 第八章:消息总线(Spring Cloud Bus)

    上一章节,我们讲解了分布式配置中心spring cloud config,我们把配置项存放在git或者本地,当我们修改配置时,需要重新启动服务才能生效.但是在生产上,一个服务部署了多台机器,重新启动比 ...

  4. poj 1095 题解(卡特兰数+递归

    题目 题意:给出一个二叉树的编号,问形态. 编号依据 1:如果二叉树为空,则编号为0: 2:如果二叉树只有一个节点,则编号为1: 3:所有含有m个节点的二叉树的编号小于所有含有m+1个节点的二叉树的编 ...

  5. LeetCode977.Squares of a Sorted Array

    题目 977. Squares of a Sorted Array Given an array of integers A sorted in non-decreasing order, retur ...

  6. yii2 发送邮件 yii\swiftmailer\Mailer

    Yii2 中发送邮件 yii\swiftmailer\Mailer 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'viewPath ...

  7. quartz2.3.0(十五)执行、暂停、继续执行、清除,花式操作数据库中持久化的job任务

    #################################################################################################### ...

  8. .Net 取树形结构的数据

    最近遇到了无限层级数据要读取的问题,所有就写了个. 根据当前所有父级,查询出子级内容 private void GetTypeOfWorkforTree(out List<TypeOfWorkD ...

  9. chrome滚动条颜色尺寸设置

    <style> /*chrome滚动条颜色设置*/ *::-webkit-scrollbar { width: 5px; height: 10px; background-color: t ...

  10. Python学习日记(十九) 模块导入

    模块导入 当文件夹中有这样一个自定义的command模块 在它的内部写下下列代码: print('这个py文件被调用!') def fuc(): print('这个函数被调用!') 然后我们在comm ...