最近在做有关 PDF 文档的识别与归类,接触了很多种类的 PDF
有看起来和 word 差不多的,有看起来是上了年头的书扫描而成的,有各种语言,英文日文中文等等
在这个过程中我发现 PDF 阅读器对于 PDF 文件可不可以选中复制的判定很奇怪,有的字工工整整就像 doc 文件,不能复制,有的扫描件看起来歪歪扭扭却可以基本无差错复制下来,请问这是怎么实现的?是生成 PDF 时就这么处理了还是 PDF 阅读软件的解析功能,有什么文档或者文章详细介绍这个格式吗
最后顺便求大佬推荐 java 的 pdf 识别框架,pdfBox iText xPdf spirePdf 都试过了,都有各种方面的缺点,希望知道更多选择
1
Vegetable 2020-01-17 14:25:06 +08:00
你可以用网页来理解,有些部分是文字,所以可以复制,比如 word 生成的 pdf。有些地方看起来是文字,但是实际上是图片,不容易直接复制,比如扫描仪扫出来的。
pdf 本身也是一种文档的形式,将多种类型的元素组织到一起,和网页的原理差不多。 |
2
heguangyu5 2020-01-17 14:35:45 +08:00
可以看下这本书, 详细了解下 pdf.
Pdf Explained https://www.amazon.com/PDF-Explained-Standard-Document-Exchange/dp/1449310028 java 的 pdf 相关软件不太了解,但 ubuntu 上的 pdf 阅读器什么的很多都是基于 Poppler 这个类库做的. https://poppler.freedesktop.org/releases.html |
4
cigarzh 2020-01-17 15:54:39 +08:00
双层 PDF 而已
|
5
ljpCN 2020-01-17 19:44:11 +08:00
@815979670 扫描件可以 OCR 后制作成双层 pdf ;也可以把一个文档制作成 pdf,里面的文字都是矢量图形,但并不是双层,也就是不包含文本识别的信息也就不能选中。
|
6
slanternsw 2020-01-18 02:12:12 +08:00
Acrobet 打开编辑时会自动 OCR,如果确实是工整的印刷体那么可以接近 100%正确
|