基于百度云免费接口实现“让机器朗读影印版PDF”功能的思路
2018-04-29 本文已影响20人
安静的书桌
今天实现了“让机器朗读影印版PDF”的功能。
有技术含量的地方用的都是开源库或百度云免费接口——我的工作只是把它们粘合起来。
简单说是三步
1.PDF转图片们
2.逐个图片识别成文字,然后合并成整个文本
3.文本逐段生成MP3,然后合并成整个MP3
第一步,PDF转图片
Java语言的icepdf库和pdffox库都能实现这一目的,其他语言也有相应的库。
-->这一步的输入:PDF文件
-->这一步可以输出:图片文件夹
第二步,图片识别成文字
使用百度云提供的文字识别接口,逐张图片识别,最后合并成整个文本。
-->这一步的输入:图片文件夹
-->这一步可以输出:TXT文件
第三步,文字生成MP3
使用百度云提供的语音合成接口,因为接口有1024字节限制,所以要把整个文本切成小段,生成N个MP3文件,再合并成整个MP3。
-->这一步的输入:TXT文件
-->这一步可以输出:MP3文件
至此影印版的PDF就转换成为可以听的MP3文件了。
顺便还可以用百度云提供的自然语言接口获得文章分类、文章标签等信息。
OCR识别准确度毕竟有限,可以考虑把识别出的TXT进行手工校订。
当然,你也可以把图片或TXT作为输入源。
输入图片则逻辑从第二步开始,输入TXT则逻辑直接执行第三步。
毕竟影印版PDF常涉及版权问题,建议没别的办法时才用这方案。