吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2102|回复: 8
收起左侧

[学习记录] 利用paddleX实现图片、扫描版PDF转word

  [复制链接]
lianxiang1122 发表于 2024-2-26 16:29
上次分享了paddle一个好用的自然语言智能提取方法,https://www.52pojie.cn/thread-1892273-1-2.html

这次再分享一个利用paddleX实现扫描版pdf转word的方法。

PDF转word是一个难题,如果是word或其他软件转的PDF,那么很容易转成word,市面上有很多工具和网站。
如果是扫描版的或是图片转成的PDF,那么就比较难办了,特别是还有表格情况,就更难转换了,一般的软件都是直接把图片放到word里,并不是我们想要的编辑版的。

我们还是先进入paddle主页:

https://www.paddlepaddle.org.cn/

找到“产品全景”-“PaddleX”
屏幕截图 2024-02-26 155139.png


进入后,找到本地下载,目前提供2个版本下载,我用的Windows。
注意自己的电脑是否满足要求,另外,没有GPU也能运行,只是CPU比GPU慢一些。
屏幕截图 2024-02-26 153746.png


当然了,你可以查看一下安装说明。

下载下来后,就可以直接安装了。安装时,软件会下载很多东西,大概好几个G。
安装时会让你创建一个工作空间,记住你的这个文件夹,将来所有的东西都放在这个文件里了。
屏幕截图 2024-02-26 154717.png

提示,python最好不要有中文,将来的文件名也一样,需要全用英文和数字。
安装过程可能会出现问题,例如安装界面突然关闭了,此时我们需要重新安装,如果依然安装失败,那就卸载后再安装,多安装几次。
我也不知道什么原因老是安装失败,可能是安装时下载东西比较多,中间中断了,反正我装了好多次才装好的。

安装完后,会提示安装成功,桌面会有一个图标,如果双击能打开那就说明安装成功了。
屏幕截图 2024-02-26 154502.png

打开软件,找到右侧“新建模型产线”
屏幕截图 2024-02-26 155014.png

里面一共有7页,翻一翻,找到“PDF转Word”这个模型。
屏幕截图 2024-02-26 155425.png

点击创建,再点击“进入开发”

屏幕截图 2024-02-26 155537.png

这是也是一个开箱即用的工具。软件为我们准备了一张图片。我们也可是删除这张图片,换成我们自己的图片。
屏幕截图 2024-02-26 155724.png

这里就不删除了,就用软件提供的。我们往下拖,找到软件最底部的“开始测试”。
当然了,如果你没有GPU,那么就修改为CPU。
屏幕截图 2024-02-26 155832.png

点击开始测试,软件就开始运行了。第一次可能比较慢,有可能是软件需要下载一些相关模型。
再拖到软件最上方,会看到测试成功,右边就是转换的word文档了。
屏幕截图 2024-02-26 160046.png

打开看一看,还是比较好的。

好了,一张图片就完成转换了。那么PDF怎么转呢?软件不能直接转PDF,需要先把PDF转为图片,这个很多PDF软件都能实现。
注意,转成图片文件不能是中文命名。所以,转之前先把PDF改为英文或数字名。

然后就可以用软件转了,不能一张一张转吧????那不慢死了。。。。

我们看到,软件上方有2个模式。“工具箱模式”和“开发者模式”。。。

刚刚用的是工具箱模式,我们点击开发者模式。
屏幕截图 2024-02-26 160655.png

我们看到,在左侧有一个iner_pdf2word.py的Python文件。
打开,大概浏览一下。发现,最后有一个pdf2word的函数,这是一个自定义函数。
屏幕截图 2024-02-26 160902.png

函数里有一个input_img_path参数,这个参数正好就是刚刚的图片地址。
(另外,其他函数不需修改,可以修改一下save_folder,save_folder是转成word后的存储路径)

屏幕截图 2024-02-26 161148.png

我们只需修改一下这个图片的路径就可以实现批量识别了。
例如,我们有13页pdf文件,先用软件转成图片格式,放到一个文件里
屏幕截图 2024-02-26 161633.png
注:开发者模式里的所有文件,都在你安装软件时选的工作空间那个文件里。找到它。

我们用os库把文件里的所有图片放到一个变量list里,通过for循环一张张的识别就行了。
将原来的代码,修改如下:
    # start convert
    pic_path = r'E:\px\906012\16\new'
    pic_list = os.listdir(pic_path)
    for i in pic_list:
        input_img_path = os.path.join(pic_path,i)
        pdf2word(det_model_name, det_model_dir, rec_model_name, rec_model_dir,
                layout_model_name, layout_model_dir, table_model_name,
                table_model_dir, device, input_img_path, save_folder)
        print('finish')

添加了2个变量pic_path和pic_list,找到文件里所有的图片。
增加了一个for循环,将pdf2word函数放到了for循环了,实现了所有图片一张张的转成word文件。
屏幕截图 2024-02-26 162514.png
屏幕截图 2024-02-26 162538.png


最后我们再把所有word文档集中到一个word里就行了。

虽然,这个方法有点麻烦,但对于图片和PDF转word目前也是免费中最好的办法了。。。。。。
PaddleX还有一个优势,就是能识别出PDF中的图片和表格,正确率虽然不能保证100%,但也好于很多软件了。

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
hdxzd12 + 2 + 1 用心讨论,共获提升!
qq9953 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sai609 发表于 2024-2-26 18:21
各路api接口已经尝试过了,实际上都不怎么好用,识别率忒低,尤其是图片拍照后再扫描成PDF以及PDF表单,如银行流水
还不如用国外软件,一键orc,识别精准且少错。。。so还是国外的香
赵世哲 发表于 2024-2-27 09:22
ncqingyi 发表于 2024-3-7 22:59
sai609 发表于 2024-2-26 18:21
各路api接口已经尝试过了,实际上都不怎么好用,识别率忒低,尤其是图片拍照后再扫描成PDF以及PDF表单,如 ...

方便分享一下国外什么软件吗? 主要是一些国外的形式发票需要ocr.
sai609 发表于 2024-3-7 23:04
ncqingyi 发表于 2024-3-7 22:59
方便分享一下国外什么软件吗? 主要是一些国外的形式发票需要ocr.

invoice吗?
ncqingyi 发表于 2024-3-7 23:24

是的,主要是欧洲的一些invoice, 语言多样.
烛曳 发表于 2024-4-13 20:56
很香的东西
52pojieyang2022 发表于 2024-4-22 11:14
所以还是国外的香
loveonline 发表于 2024-4-29 23:38
听起来好厉害的样子
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 20:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表