由图片扫描生成的PDF文件无法复制粘贴文字,是不是很困扰?虽然有一些阅读器和在线工具可以解析图片中的文字,但毕竟只能线下处理,不能满足批量的系统线上功能。今天写一个PDF转图片、图片转txt的代码模块,你可以将它封装起来,实现线上识别pdf中的文字!01

关于tesseract:

(1)首先,pip install pytesseract;

(2)然后,需要下载 tesseract-ocr

下载网址:https://github.com/UB-Mannheim/tesseract/wiki选择自己的版本下载,下载之后直接安装即可。修改pytesseract.py 文件里面的指向路径为你的安装路径;(3)最后,将你的安装路径.\Tesseract-OCR\tessdata添加到环境变量中;(4)其他还需要的安装包:fitz,PIL,可以直接通过pip或conda来安装,不赘述。(5)关于识别语言库的下载(原github失效中,但有热心网友提供了下载包,简体中文为chi_sim):https://blog.csdn.net/qq_38161040/article/details/9072745602

PDF转PNG图片:

import fitzimport pytesseractfrom PIL import Imageimport datetimedef pdf_image(pdfPath,imgPath,zoom_x,zoom_y,rotation_angle):    '''    将PDF转化为png    pdfPath:pdf文件的路径    imgPath:图像要保存的文件夹    zoom_x: x方向的缩放系数    zoom_y: y方向的缩放系数    rotation_angle: 旋转角度    '''    # 打开PDF文件    pdf = fitz.open(pdfPath)    # 逐页读取PDF    for pg in range(0, pdf.pageCount):        page = pdf[pg]        # 设置缩放和旋转系数        trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotation_angle)        pm = page.getPixmap(matrix=trans, alpha=False)        # 开始写图像        pm.writePNG(imgPath+str(pg)+".png")    pdf.close()

03

PNG转txt:

def main():    '''    png图片转为txt    '''    for i in range(8):#假如有8页图片,分别为0.png,1.png...        starttime = datetime.datetime.now()        image = Image.open(r"C:/Users/Lenovo/Desktop/"+str(i)+".png")        text = pytesseract.image_to_string(image, lang='chi_sim')  # 使用简体中文解析图片        endtime = datetime.datetime.now()        text=text.replace(" ","")        with open(r"C:/Users/Lenovo/Desktop/"+str(i)+".txt", "a") as f: # 将识别出来的文字存到本地            # print(text)            f.write(str(text))            if __name__ == "__main__":       pdf_image(path,r"C:/Users/Lenovo/Desktop/",5,5,0)   main()

注:将路径换为你的pdf路径和图片路径

04

查看效果:

pdf

txt

扫码关注

立出奇迹

c# string 转 datetime_tesseract || PDF转PNG转txt相关推荐

  1. 读取DOC、DOCX、 XLS 、XLSX 、PDF 、PPTX 、TXT文档内容

    读取DOC.DOCX. XLS .XLSX .PDF .PPTX .TXT文档内容 POM 依赖 <!-- https://mvnrepository.com/artifact/org.apac ...

  2. 前端-vue-文件上传(图片、word,ppt,pdf,excel,txt等文件流)

    1. 文件上传(图片.word,ppt,pdf,excel,txt等文件流) 总结一下上传组件的思路 input标签的@change事件 通过input标签的@change事件的绑定,进行文件的选择上 ...

  3. 如何用python修改pdf内容_如何利用python将pdf文件转化为txt文件?

    https://www.wukong.com/answer/6579491774144708872/?iid=15906422033&app=news_article&share_an ...

  4. pdf电子书转换成txt文档

    pdf电子书转换成txt文档 我们在收到用户发来的PDF格式的文件合同时,为了能够将里面的内容重新进行编辑,很多时候需要将PDF格式的电子书转换成TXT,有什么好的方法可以实现PDF转TXT. 在没有 ...

  5. 数据预处理:自定义PDF格式批量转换TXT系统

    数据预处理:自定义文件格式转换系统 ( 白宁超 2018年8月29日15:36:24 ) 导读:随着大数据的快速发展,自然语言处理.数据挖掘.机器学习技术应用愈加广泛.针对大数据的预处理工作是一项庞杂 ...

  6. 如何将PDF文件转换成TXT文档

    相信大家都知道什么是PDF文件,可是在使用PDF文件的时候我们常常会碰到一个难题,就是将 PDF文件转换成TXT或者Word文档进行编辑,今天就给大家分享一种简单的转换方法. 1.先打开手机,可借助手 ...

  7. PDF如何转换成TXT文本

    由于工作的需要,我们常常需要将大量的PDF文件进行格式转换,但是Adobe公司提供的阅读器中,对于某些加密的文件,是没有办法复制的,如果想复制的话,一些软件也是收费的.这时,我们急需要一个可以把PDF ...

  8. 批量的pdf怎么转换成txt格式的文件

    工作中每次遇到为PDF转换成TXT的问题我总是绞尽了脑汁也找不到便捷的方法解答它,怎么办?最近在百度文库中查找资料时发现有一篇名为<PDF如何转换成TXT>让我找到了答案,并且亲自尝试后, ...

  9. pdf怎么转换成txt?

    pdf怎么转换成txt随着pdf格式文件使用频率的增加,人们会按照自己使用的需求把pdf转成自己需要的其他文件,比如把pdf转txt.尤其是我们下载到Pdf格式的电子书时,把它转成txt会更加方便.由 ...

最新文章

  1. vs2k5 notes
  2. [architecture]-ARMV7架构下SecureMonitor双系统切换时保存和恢复哪些寄存
  3. 模拟input type=file
  4. 支持任意排序的分页存储过程
  5. 微软Build 2017首日主角AI 同时发布.NET Core 2.0 Preview 1
  6. shell 25个常用命令
  7. css动画执行保持forwards,css3动画如何在动作结束时保持该状态不变
  8. Arduino笔记-有源蜂鸣器结合开关(多瑞咪发声)
  9. list、tuple
  10. mybatise 实现同一字段多模糊查询
  11. 线性代数【二】:矩阵的概念与计算
  12. 二十六、Jcreator使用初步
  13. 微博java版_新浪微博JAVA通用版
  14. 用matlab实现灰色预测gm11模型,用MATLAB实现灰色预测GM11模型
  15. vscode通过扩展插件实现流程图绘制
  16. C语言字母排序不分大小写,如何按字母顺序排序字符串数组(区分大小写,非标准排序规则)...
  17. html 登录页面模板
  18. Windows10正式版为什么没有休眠选项?
  19. Windows系统下的CMD Route路由配置
  20. 苹果支付v2 通知(订阅/退款回调通知)

热门文章

  1. python连接hive_python连接hive
  2. python找思路_python 爬取贝壳的一些思路和方法设计(用地址找到小区名字)
  3. Tensorflow2.0(2):中文分词(jieba)
  4. 6s android,Android死忠粉自述为何必买iPhone 6S
  5. android 模拟器方向键,键盘操控使用方法
  6. 使用Playwright对ASP.NET Core应用执行功能测试
  7. jQuery 3.5.0 发布
  8. 这样做动画交互,一点都不费力
  9. C# —— IEnumerable和状态机
  10. c语言中 dr指令应用,在计算机进行程序存储及控制中,pc.ir.ar和dr各起什么作用?能否相互代替?...