pytesseract实现识别pdf文件并将内容写入word文档中

news/2024/9/24 13:46:24

步骤一:先安装tesseract-ocr-w64-setup-5.4.0.20240606 (安装记得语言包只安装需要的即可)
步骤二:将安装目录添加到系统环境变量中
(网上很多这一步之后就说可以运行程序了其实不然,一直报错没有添加到环境变量中)
步骤三:

第四步:可以正常运行啦

==========================================================================================

from PyPDF2 import PdfReader
from docx import Document
import pytesseract
from PIL import Image
import io

def pdf_to_word_with_ocr(pdf_path, word_path):
import os
# 检查文件是否存在
if not os.path.exists(pdf_path):
raise FileNotFoundError(f"指定的文件 {pdf_path} 不存在。")

# 创建Word文档对象
doc = Document()# 打开PDF文件
reader = PdfReader(pdf_path)# 遍历PDF中的每一页
for page_number, page in enumerate(reader.pages):# 尝试提取页面文本text = page.extract_text()if text:# 如果能直接提取到文本,就添加到Word文档中doc.add_paragraph(text)else:# 如果页面没有文本,尝试使用OCR提取图像中的文本images = page.imagesif images:for image_index, img in enumerate(images):# 将图像数据从PDF中提取出来image = Image.open(io.BytesIO(img.data))# 使用OCR识别图像中的文本ocr_text = pytesseract.image_to_string(image, lang='chi_sim')doc.add_paragraph(f"第{page_number+1}页, 图像{image_index+1}: {ocr_text}")else:# 如果页面既没有文本也没有图像,添加一个占位符doc.add_paragraph(f"第{page_number+1}页无文本或图像。")# 保存Word文档
doc.save(word_path)

使用函数

pdf_path = '45.pdf'
word_path = 'output.docx'
pdf_to_word_with_ocr(pdf_path, word_path)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/56723.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

消息中间件ms

消息中间件rabbitmq如何保证数据不丢失 MQ高级搜消息可靠性 常用于mq重复消费问题解决 搜消费者重复消息问题延迟队列有了解过吗?(私信交换机) 搜延迟消息如果有100w的消息堆积到mq怎么办(消息堆积)高可用机制了解过吗

9种最高频的架构模式

这9种最高频的架构模式了解一下,什么样的业务适合事件驱动,什么样的业务适合ETL,什么类型的服务依赖streaming,分别有什么样的特征最好事前准备,我的专栏会分析每种架构的方法论和面试注意事项,感兴趣的可以关注

gadget驱动框架(一)

之前在linux移植udc驱动的时候,没有深入的理解整个gadget驱动框架,现在重新再屡屡gadget驱动,以便后期再次学习。本系列的文章以虚拟串口进行分析,相关源码均是基于linux4.19.123。 gadget驱动框架 gadget源码主要在:drivers/usb/gadget,以虚拟串口为例,对源文件做简单说…

Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model(2024,8)

Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model(2024,8) Paper TODO: 目前没有开源代码,实时关注一下official code,Meta的工作基本开源的.本文给出了一种新的T2I的方法. lucidrains的代码本质是将LLM的transformer和图像中的diffusion结…

代码整洁之道--读书笔记(1)

代码整洁之道简介: 本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更…

Towards Robust Blind Face Restoration with Codebook Lookup Transformer(NeurIPS 2022) | Codeformer

Towards Robust Blind Face Restoration with Codebook Lookup Transformer(NeurIPS 2022) 这篇论文试图解决的是盲目面部恢复(blind face restoration)问题,这是一个高度不确定的任务,通常需要辅助指导来改善从低质量(LQ)输入到高质量(HQ)输出的映射,或者补充输入中丢…

基于 GoFrame 框架的 Go 项目打包成镜像,并上传至 Harbor 镜像库

本文通过将一个简单的 gf 项目推送到 harbor,简单介绍了整个流程和过程中用到的命令。〇、前言 在云服务时代最流行的部署方式就是容器部署,这也是最推荐的部署方式。 对于 GoFrame 框架就不多介绍了,直接来初始化一个 demo,备用。 // 初始化一个项目:gf-demo gf init gf-…

ChatOn安卓版(智能AI聊天机器人) v1.48.435-476 高级版

概述 ChatOn 构建于ChatGPT和GPT-4o之上,为用户提供市场上最优秀的中文AI聊天机器人。AI聊天机器人能够达到一个全新水平的仿人类互动:当你为某一场正式会议准备演讲,苦思动人的措辞,或寻求写作方面的帮助时,这款智能机器人和AI助手都会统统帮你搞定。 软件功能 1、AI 写…