在线文档:

#encoding=utf-8
from urllib.request import urlopen
from pdfminer.pdfinterp import PDFResourceManager, process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from io import StringIO
from io import opendef readPDF(pdfFile):rsrcmgr = PDFResourceManager()retstr = StringIO()laparams = LAParams()device = TextConverter(rsrcmgr, retstr, laparams=laparams)process_pdf(rsrcmgr, device, pdfFile)device.close()content = retstr.getvalue()retstr.close()return contentpdfFile = urlopen("http://pythonscraping.com/pages/warandpeace/chapter1.pdf")
outputString = readPDF(pdfFile)
print(outputString)
pdfFile.close()

本地文档:

# -*-coding:utf-8-*-
import sys
import importlib
importlib.reload(sys)from pdfminer.pdfparser import PDFParser,PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LTTextBoxHorizontal,LAParams
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed'''解析pdf 文本,保存到txt文件中
'''path = r'C:\\Users\Administrator\Desktop\tlcl-en-cn.pdf'
def parse():fp = open(path, 'rb') # 以二进制读模式打开#用文件对象来创建一个pdf文档分析器praser = PDFParser(fp)# 创建一个PDF文档doc = PDFDocument()# 连接分析器 与文档对象praser.set_document(doc)doc.set_parser(praser)# 提供初始化密码# 如果没有密码 就创建一个空的字符串doc.initialize()# 检测文档是否提供txt转换,不提供就忽略if not doc.is_extractable:raise PDFTextExtractionNotAllowedelse:# 创建PDf 资源管理器 来管理共享资源rsrcmgr = PDFResourceManager()# 创建一个PDF设备对象laparams = LAParams()device = PDFPageAggregator(rsrcmgr, laparams=laparams)# 创建一个PDF解释器对象interpreter = PDFPageInterpreter(rsrcmgr, device)# 循环遍历列表,每次处理一个page的内容for page in doc.get_pages(): # doc.get_pages() 获取page列表interpreter.process_page(page)# 接受该页面的LTPage对象layout = device.get_result()# 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 想要获取文本就获得对象的text属性,for x in layout:if (isinstance(x, LTTextBoxHorizontal)):with open(r'C:\\Users\Administrator\Desktop\aa.txt', 'a') as f:results = x.get_text()print(results)# f.write(results + '\n')if __name__ == '__main__':parse()

python:pdf转文字(在线和本地文档)相关推荐

  1. python语音在线编辑-Python:语音处理,实现在线朗读RFC文档或本地文本文件

    本文主要讲解如何使用python来实现将文本转为语音,以一个小例子为例,写了一下用pyTTS来朗读本地方件或在线朗读RFC文档,当然也可以修改一下,做成在线朗读新闻之类的,另本来想实现一个读中文小说的 ...

  2. Python:语音处理,实现在线朗读RFC文档或本地文本文件

    本文主要讲解如何使用python来实现将文本转为语音,以一个小例子为例,写了一下用pyTTS来朗读本地方件或在线朗读RFC文档,当然也可以修改一下,做成在线朗读新闻之类的,另本来想实现一个读中文小说的 ...

  3. python中文朗读_Python:语音处理,实现在线朗读RFC文档或本地文本文件

    本文主要讲解如何使用python来实现将文本转为语音,以一个小例子为例,写了一下用pyTTS来朗读本地方件或在线朗读RFC文档,当然也可以修改一下,做成在线朗读新闻之类的,另本来想实现一个读中文小说的 ...

  4. nopi word to html,C# 基于NPOI+Office COM组件 实现20行代码在线预览文档(word,excel,pdf,txt,png)...

    由于项目需要,需要一个在线预览office的功能,小编一开始使用的是微软提供的方法,简单快捷,但是不符合小编开发需求, 就另外用了:将文件转换成html文件然后预览html文件的方法.对微软提供的方法 ...

  5. 【板栗糖GIS】怎么将网络上只能在线预览文档另存为pdf(插件篇)

    怎么将网络上只能在线预览文档另存为pdf(插件篇) 目录 1.使用插件,这里推荐FireShot,好用免费 2.安装该插件的方式 3.打开在线预览文档的网址 4.点击插件-截取整个页面并且-另存为pd ...

  6. pdf.js在线查看(文档流/地址)

    pdf.js在线查看(文档流/地址) 工作中需要在移动端在线查看pdf文件,但由于pdf文件存放在第三方的服务器中,由于各种原因无法直接返回pdf文件地址给前台,后来确定返给前台是一个base64的流 ...

  7. html怎么转换到百度,类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版...

    类似百度文库在线预览文档flash版(支持word.excel.ppt.pdf)+在线预览文档html版 (1).将文档转换为html,只支持支持office文档 (2).将文档转换为flash,实现 ...

  8. Python使用标准库zipfile提取docx文档中所有图片

    清华科技大讲堂免费直播课预告: 免费直播课|Python数据可视化与科学计算可视化案例分享,5月28日晚20:00-21:30 ============ 哔哩哔哩网站免费视频观看地址: 董老师在哔哩哔 ...

  9. OpenOffice在线预览文档

    使用OpenOffice在线预览文档 开发中遇到了一个需求,需要在线预览word文档,excel表格,pdf等等文件,于是经过一圈Google,发现了这个工具,openoffice会把文档转为pdf文 ...

最新文章

  1. 2020年 | 云计算发展的5大趋势
  2. sql 注射_基本注射/资格赛,范围
  3. [读码时间] 完美拖拽
  4. [Winodows Phone 7控件详解]Silverlight toolkit for Windows Phone 7.1控件-5
  5. 拼多多开除即将拿到股票的安全大佬;虾米音乐将永久关停;GitHub 解禁伊朗开发者使用权
  6. bzoj1179[Apio2009]Atm
  7. mysql 5.0 慢日志_MySQL的慢查询日志
  8. 宏晶STC单片机使用STC-ISP串口烧录失败的原因与解决方法汇总
  9. 《算法笔记》9.7 堆
  10. 《Python编程从入门到实践 第二版》第十六章练习
  11. 北京城市总体总体规划 下载_总体表现
  12. HDU 6438 Buy and Resell (优先队列 or 贪心)
  13. java 外码 内码_什么是汉字的内码、外码、交换码、字形码?
  14. Window系统 cd命令
  15. 学习spring英文官方文档方法
  16. win11 跳过检测直接升级
  17. php 时间插件,PHP日期时间函数 - Discuz!-插件 - Discuz! 官方站 - Powered by Discuz!
  18. 【HUI】AccordionMenu 手风琴菜单(基于jQuery)
  19. Cannot find module coa/compile.js
  20. (转)it界的大师手笔

热门文章

  1. Remote 'g' packet reply is too long 错误
  2. 知识图谱学习(一)(笔记整理)
  3. turtle(海龟)知识点整理
  4. 我的世界android启动器,我的世界手机版启动器 安卓方块启动器教程
  5. Git教程之如何版本回退
  6. Battle Mages (魔法之战,精灵传说)修改器
  7. 鸿蒙 3.0 来了!新版本就是强啊!!
  8. 淘宝怎么寄东西到日本?如何在日本购买国内淘宝上的物品呢?
  9. [转] 关于“时间”的一次探索
  10. 中移动浦发联合发布四款产品 ,NFC手机年底上市