lianxiang1122 发表于 2024-2-26 16:29

利用paddleX实现图片、扫描版PDF转word

上次分享了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”



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



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

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


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

安装完后,会提示安装成功,桌面会有一个图标,如果双击能打开那就说明安装成功了。


打开软件,找到右侧“新建模型产线”


里面一共有7页,翻一翻,找到“PDF转Word”这个模型。


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



这是也是一个开箱即用的工具。软件为我们准备了一张图片。我们也可是删除这张图片,换成我们自己的图片。


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


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


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

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

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

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

刚刚用的是工具箱模式,我们点击开发者模式。


我们看到,在左侧有一个iner_pdf2word.py的Python文件。
打开,大概浏览一下。发现,最后有一个pdf2word的函数,这是一个自定义函数。


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



我们只需修改一下这个图片的路径就可以实现批量识别了。
例如,我们有13页pdf文件,先用软件转成图片格式,放到一个文件里

注:开发者模式里的所有文件,都在你安装软件时选的工作空间那个文件里。找到它。

我们用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文件。




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

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

sai609 发表于 2024-2-26 18:21

各路api接口已经尝试过了,实际上都不怎么好用,识别率忒低,尤其是图片拍照后再扫描成PDF以及PDF表单,如银行流水
还不如用国外软件,一键orc,识别精准且少错。。。so还是国外的香

赵世哲 发表于 2024-2-27 09:22

前来学习{:301_992:}

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

sai609 发表于 2024-3-7 23:04
invoice吗?

是的,主要是欧洲的一些invoice, 语言多样.

烛曳 发表于 2024-4-13 20:56

很香的东西

52pojieyang2022 发表于 2024-4-22 11:14

所以还是国外的香

loveonline 发表于 2024-4-29 23:38

听起来好厉害的样子
页: [1]
查看完整版本: 利用paddleX实现图片、扫描版PDF转word