好友
阅读权限10
听众
最后登录1970-1-1
|
上次分享了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%,但也好于很多软件了。
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|