问题描述
我有一个 PDF,其中复制/粘贴会产生垃圾,查看内部结构,文本是用典型 ASCII 范围之外的值定义的。字符值根据它们出现的顺序依次分配 0x01、0x02 等。这意味着复制/粘贴和 pdftotext
之类的工具不起作用。它说它是用 ghostscript
制作的,但我认为这是通过我不太熟悉的 cups
制作的。
我的问题是,为什么 Acrobat 的“导出”功能在导出为纯文本或 HTML 时可以重现完全可读的文本?
我注意到 PDF 流数据中遇到的第一个单词以“Think”开头,这些字节被分配为 0x01、0x02 等。
我从 PDF 数据中裁剪了该字体并运行 ttfdump
,其中 cmap
表对于平台 ID 1 如下所示(ID 3 的值相似):
Char 1 -> Index 55
Char 2 -> Index 75
Char 3 -> Index 76
Char 4 -> Index 81
如果这些映射到 ASCII 代码,它们不会直接对应,但它们之间的距离是有意义的 - 'T' 比 'h' 小 20,而'h' 比'i' 小 1,依此类推。
>所以我的第一个问题是,Acrobat 是否可能使用它来导出值?如果解释起来很简单,那么后续将更多地了解如何使用这些值。我浏览了字体格式规范,但它很长,我不确定要关注什么。
附言如果需要,我可以提供字体,但不能提供具有私人数据的 PDF(我们不生产也不拥有它)。我也不认为在这种情况下编写自动提取文本的程序是明智的,但我正在尝试为不可避免的“但 Acrobat 可以做到!”收集信息。投诉。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)