不适合手机阅读的 pdf 通过微信读书导入转为 文字版

最近用微信读书 App 阅读pdf 文档,发现微信阅读居然主动 PDF 转换成文字版,并且做了一些排版,图片扫描出来图书,他居然能转化为文字版本,大部分文字和图片格式段落都做了保留。

在一些老书和图文混排,头位等处理上还有一些兼容问题,但已经不影响阅读了,文字和图片也没有丢失,这种对个人上传内容的优化化处理还是很方便的。

另外还供原版显示的功能,可以在你发现不习惯文字版本或者发现有识别错误时进行切换。这些落在产品中的人工智能和深度学习的应用才是最重要的实践。

然后我又找了几本只有影印版本和 pdf 版本的书下载到手机中,通过微信阅读导入看看他的扫描结果如何。

目录、标题,段落都挺不错,没有识别为文字的地方也当做图片显示了出来。

被当做截图处理的部分主要为周围是分页边界,或者页脚页眉,大标题这些额外排版的干扰。

为此,我也专门问了 chatgpt,看看他是怎么说的,其中他猜测这些功能是通过什么技术组织实现的。

你能否跟我讲讲微信读书是如何将 pdf 转化为文字版本的?

微信读书(WeRead)将PDF文档转换为文字版本的过程,虽然未公开详细的技术细节,但可以推测这个过程涉及到的主要技术包括文档解析、图像识别(OCR,即光学字符识别)和文本处理等技术。下面是一个概括性的描述:

  1. PDF解析:首先,需要将PDF文档中的所有元素解析出来。PDF文档中不仅包含文本,还可能包含图片、表格、图形等。解析过程中需要区分这些元素,以便后续处理。

  2. 图像识别(OCR):对于文档中的图片或扫描页,需要使用OCR技术来识别图片中的文本。OCR技术通过分析图像中的文字形状,将其转换为机器可读的文本。这一步骤是将非文本内容转化为文本内容的关键。

  3. 文本提取与处理:对于PDF中已经是文本格式的内容,可以直接提取出来。提取的文本可能需要进一步的处理,包括清理格式、修正OCR识别中的错误、处理特殊字符等,以提高文本的准确性和可读性。

  4. 版式处理:PDF文档中的文本布局可能非常复杂,包括多栏格式、图文混排等。将这些内容转换为适合阅读器阅读的格式,需要进行版式的分析和调整。这可能涉及到重新排列文本流、调整段落和字体大小等,以确保最终版本在阅读器上的展示效果既忠实原文,又便于阅读。

  5. 数据整合:最后,将处理过的文本与元数据(如书籍的标题、作者、章节信息等)整合,生成适合微信读书平台的格式,供用户阅读。

这个过程中可能还会涉及到一些先进的技术,比如自然语言处理(NLP)技术帮助理解文本内容、机器学习算法帮助优化OCR识别效果和文本处理流程等。需要注意的是,这一过程的目的是为了提供更好的阅读体验,并尊重版权方的权益,转换过程中需要遵循相关的版权法规。