扫描版 PDF OCR 方案 讨论


update:
这里主要讨论

  1. 原始PDF进行OCR时,创建的bbox(文本层)的定位精准度的问题。
  2. 收集其他OCR方案的方案,比如markdonw输出。


大家的PDF OCR方案是啥? 这里排除掉ai方案,因为只能输出纯文本,和传统OCR其实没差。PDF的OCR核心是要在原始区域上进行覆盖。

我尝试了ABBYY和福昕的OCR,效果不佳,因为他会在每行的文本中插入空格将文本层和图片层进行对其。
ABBYY可以手动将文本层覆盖在图片上,这样会一定程度解决空格对其的问题但是不能批量操作。

无意间发现chrome打开PDF会自动ocr,等待完成之后打印出来之后发现结果极佳,文本对其的方案应该是精确控制文本大小来实现的,不会出现空格的问题。

目前决定将使用chrome对扫描版PDF进行OCR


下面有几个比较火的翻译项目,但是其似乎是针对文本PDF做翻译操作,而不是处理扫描的。 不清楚是否可以满足 ,希望有经验的大佬们可以分享一下

嗯,很好的PDF转MD工具,可保留图片。

OCR并不是问题,传统OCR也能解决文本识别问题。问题是OCR之后在PDF上面生成的文本层的兼容度

大部分扫描清晰的时候,透明文本是很ok可以接受的。
但是一些古老的扫描件,文字边缘都不清晰,所以用文本层覆盖更好

佬友是想获取 ocr 过后的 bbox 数据么,可以试用一下这个

拿到 bbox 再覆写到原 pdf 上,这样打印的质量更高是么?

上面的项目虽然是 iOS 端的软件,但是它的代码是公开的,移植到 macOS 上没有问题

如果佬友是 Linux 平台,可以试用一下这个

这个速度在 cpu 上跑比较慢,大概 3-10秒

没错,确实是这个需求,我有开在另一个帖子上。 这里主要讨论对原始PDF进行OCR时,创建的bbox的精准度的问题。


你说的这两个方案,我得研究研究

umiocr,免费,还能创建双层pdf

佬友,这是你要的效果么,我用的是豆包 pdf 阅读功能

没错,这种效果非常好!

嗯,这个得测一下他的OCR定位方式。 现在我发现两种定位方式

这是豆包阅读 pdf 的试用链接

这是我发现的chrome的box定位方式,会发现他是通过调节每行文本的大小来控制的,不能用来做顶层覆盖 (


而第二种方式是插入空格来定位,也不能直接用。

我大概看明白了。

你是希望用ocr识别的文字替换原本的扫描文字,这样能提高 pdf的清晰度,同时又能保留 pdf 文件的排版。

你上个帖子有个佬友说的对,漫画翻译的项目很适合你的需求。比如这个:

还有几个地方我不太明白:

  • 你对排版的还原程度要求高吗?希望做到字与字对应还是看起来差不多就好?

  • 你是希望全自动完成还是能接受手动细调?

主要是使用漫画识别方案好像不支持自动识别字体,也不能做到字与字对应。如果对这些要求特别高的话,漫画翻译的方案也不适合你。

目前来看,字对应似乎几乎不可能,我上面说到的两种字对应处理方式,都会影响文本大小或者完整度(插空格)
所以目前来看,按照段为一个对象,然后将里面的内容除去空格后,自然排列还是不错的。
然后就是一个page内的,多个对象的布局,宽度等等这些细节了。

上面那个豆包的效果似乎就不错。
我也试试你这个,动漫的这种处理似乎和豆包应该差不多。

豆包效果是这样的

嗯,这种效果我应该能用py复现

蹲一手,期待佬能找到完美的方案

那就用 pdf 切分工具将大文件每 50页切分成一个新的 pdf 哈哈哈