• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Beeethoven
V2EX  ›  程序员

请教 PDF 格式的实现

  •  
  •   Beeethoven · Jan 17, 2020 · 3193 views
    This topic created in 2397 days ago, the information mentioned may be changed or developed.

    最近在做有关 PDF 文档的识别与归类,接触了很多种类的 PDF

    有看起来和 word 差不多的,有看起来是上了年头的书扫描而成的,有各种语言,英文日文中文等等

    在这个过程中我发现 PDF 阅读器对于 PDF 文件可不可以选中复制的判定很奇怪,有的字工工整整就像 doc 文件,不能复制,有的扫描件看起来歪歪扭扭却可以基本无差错复制下来,请问这是怎么实现的?是生成 PDF 时就这么处理了还是 PDF 阅读软件的解析功能,有什么文档或者文章详细介绍这个格式吗

    最后顺便求大佬推荐 java 的 pdf 识别框架,pdfBox iText xPdf spirePdf 都试过了,都有各种方面的缺点,希望知道更多选择

    6 replies    2020-01-18 02:12:12 +08:00
    Vegetable
        1
    Vegetable  
       Jan 17, 2020
    你可以用网页来理解,有些部分是文字,所以可以复制,比如 word 生成的 pdf。有些地方看起来是文字,但是实际上是图片,不容易直接复制,比如扫描仪扫出来的。
    pdf 本身也是一种文档的形式,将多种类型的元素组织到一起,和网页的原理差不多。
    heguangyu5
        2
    heguangyu5  
       Jan 17, 2020
    可以看下这本书, 详细了解下 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
    815979670
        3
    815979670  
       Jan 17, 2020
    @Vegetable 我也发现了 有一部分书 确实是扫描图片无疑,但是人家可以复制 不知道为啥
    cigarzh
        4
    cigarzh  
       Jan 17, 2020
    双层 PDF 而已
    ljpCN
        5
    ljpCN  
       Jan 17, 2020
    @815979670 扫描件可以 OCR 后制作成双层 pdf ;也可以把一个文档制作成 pdf,里面的文字都是矢量图形,但并不是双层,也就是不包含文本识别的信息也就不能选中。
    slanternsw
        6
    slanternsw  
       Jan 18, 2020
    Acrobet 打开编辑时会自动 OCR,如果确实是工整的印刷体那么可以接近 100%正确
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   933 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 19:34 · PVG 03:34 · LAX 12:34 · JFK 15:34
    ♥ Do have faith in what you're doing.