pdf有转换,如果是非扫描的,转换很快,识别率100%,很多软件可以转;如果是扫描的,就比较麻烦需要用到OCR技术(文字识别)。
在linux下:
依赖包 poppler-utils tesseract tesseract-ocr-chi-sim
情况一:pdftotxt 命令 可以转换非扫描版,免费又方便,只是格式、字体都没了
情况二:pdftoppm + tesseracr 可以实现扫面版的转换
情况一操作 pdftotxt name.pdf new.txt
情况二操作 第一步:pdftoppm name.pdf new 会生成new-1.ppm new-2.ppm 每页一个;
第二步: tesseracr new-1.ppm result 会生成result.txt;可通过写脚本逐个转换,最后合到一个txt里
我的脚本如下:
第一步:pdftoppm test.pdf b -r 450 -freetype yes ;经过我测试 当DPI为450是识别效果较好,ppm文件也不是很大,单个在60M左右
第二步:脚本
for i in `ls b-*.ppm` #注意路径
do
n=1
while [ $n -eq 1 ] #监测任务
do
num=`ps aux|grep tesser|wc -l` #并发任务不超过四个,可自行修改,注意内存和CPU
if [ $num -le 4 ]
then
tesseract $i $i -l chi_sim & #任务 -l chi_sim是指定内容是中文,会生成很多txt,最后不要忘了合并。
n=0
else
sleep 3
fi
done
done