写在前面:这是当时死活找不到免费CAJ转PDF的渠道,最后自己想出来并实践的方法,虽然可以用,但是不建议用,很麻烦而且准确度不是很高,CAJ转PDF建议在https://speedpdf.cn/zh-cn/convert/caj-to-word
,每个账号每天有两次免费的机会
当然,这只是记录一个学习的过程,记录了自己创新的方法,此过程中除了原本的CAJ转WORD目的外,也可以学习到一些其他的东西:
1.CAJ转PDF
2.PDF转WORD
3.如何提取WORD中的全部图片
4.如何用PYTHON批量重命名文件,批量创建文件夹,按一定规律批量移动文件
5.如何让电脑机械地重复一个操作
以下原帖
最近快要做毕设了,导师发了一篇与毕设相关的论文,但是是CAJ格式的,没办法提取文字也没办法提取图片,可以说看上去好像对它没有任何办法,我找了找,有些网站提供转换功能,但是我不知道它转成WORD后是怎样的
说明:此方法虽然免费,但是比较麻烦,而且准确率与最终图片质量有很大关系
思路
CAJ>>PDF>>WORD
实际上实施起来发现
这个PDF转WORD以后竟然不是文字,而只是得到一个全是GIF格式图片合并的WORD文件,GIF是透明的图片,并且使用格式工厂批量转换后,完全看不清图片内容,所以只能通过一个软件重复截图操作,手动把透明背景的GIF图片转成白底黑字的PNG图片(可能以前也没人用这么奇怪的方法),再通过OCR文字识别软件来识别图片中的文字
注意:以下并没有使用毕业论文的图片,只是用别的图片演示下过程
1,CAJ转PDF
通过虚拟打印机实现,但是但凡你在搜索引擎里直接搜索‘虚拟打印机’,出来的都是很难用的软件,经过多次踩坑和多方查询,发现只有一款叫doPDF的软件能用(其他的要么就是收费,要么就是带水印,要么就是广告满天飞)下载地址(电脑网页可直接下载)
https://quqi.gblhgk.com/s/356676/QDccQk9HoC2OR7AT
使用方法
下载,安装,打开
选择你的CAJ文件,点击创建
点OK,此时CAJ文件开始转换成PDF文件
注意:转换完成后一定要打开,保存到一个常用的地方,不然就没了
2,PDF转WORD
使用金山PDF TO WORD软件(下面链接提供)
安装主程序后先别打开,先将汉化补丁移动到安装目录下
打开汉化补丁,点击PATH,稍等
打开主程序,发现已经汉化并且解除了PDF转WORD的5页限制
然后就可以把刚刚的PDF文件转换成WORD了
下面是工具链接(电脑网页可直接下载)
https://quqi.gblhgk.com/s/356676/kgskO2xl9qUyZSnt
注意:如果你转换完已经是纯文字word了,那么就不需要再进行下面的操作,但是我转换后是一个由图片组成的WORD文件
3,WORD转单张图片
WORD>另存为.>文件类型选择:网页
我们可以看到在保存位置生成了这样的文件
这个文件夹里就有WORD文档中的所有图片了(为了便于说明,使用了示例图片)
以下是所有图片
以下是文件夹里的样子
按文件类型排序以后,选中所有图片复制到另一个文件夹里(复制是为防止后续操作失误而导致图片文件丢失又要重新弄)
图片1叫image001.png,依次类推
但是我们常常遇到的是图片名字比较乱
4,提取图片中的文字
首先,如果你提取后的图片已经是白底黑字的PNG,IPG,JPEG格式,那么可以直接使用OCR识别,但是电脑上怎么找也找不到批量免费识图的OCR工具
但是找到了一个每次只能识别3张图片的工具,且这三张图片需要放在同一个文件夹里
于是我就想到了一个方法
先将N张图片重命名为1到N,以便于分组
每3张图片放一组,分成N/3组
利用魔法脚本来使机器完成机械化的重复操作
当然由于我的图片是GIF的透明图片,我就用魔法脚本制作了一个重复固定区域截图的脚本将透明GIF变为白底黑字iPNG
图片批量重命名*
注意:把这个PY脚本和图片放在同一文件夹里,记为文件夹A,A中不能有其他文件或文件夹(但是由于脚本在目录下,所以我设置了忽略.py文件,所以如果有其他.py文件,则不影响)然后执行
import os
import shutil
#rename
path=os.path.abspath('.')
fileList=os.listdir(path)
n=0
for i in fileList:
#设置旧文件名(就是路径+文件名)
oldname=path+ os.sep + fileList[n] # os.sep添加系统分隔符
if os.path.splitext(i)[1] != '.py':#防止对本身文件重命名
#设置新文件名
newname=path + os.sep +str(n+1)+'.png'
os.rename(oldname,newname) #用os模块中的rename方法对文件改名
print(oldname,'======>',newname)
n+=1
执行前
执行后
批量新建文件夹
手动新建文件夹B,打开
先动脑计算一下你的需要OCR识别的图片文件总数/3
本次示例中有6个文件,只需要2个文件夹
import os
import shutil
#make dir
for i in range(2):#做2个文件夹
os.mkdir(str(i+1))
因为每次只能识别3张图片,所以把文件每3个移动到一个文件夹里,一共需要2个文件夹
import os
import shutil
#move文件
for i in range(2):
shutil.move(str(3*i+1)+'.png',str(i))
shutil.move(str(3*i+2)+'.png',str(i))
shutil.move(str(3*i+3)+'.png',str(i))
移动后如图
打开OCR识别软件,选择刚刚放好图片
的文件夹
可以看到内容差不多可以识别出来,当然如果转化后的图片比较模糊,那么识别率可能比较低
如果图片较多,可以尝试使用鼠标键盘模拟器创造一个机械化操作的魔法脚本来实现电脑自动重复操作识别