【问题标题】:Where can I get Adobe-Identity-UCS cmap file?我在哪里可以获得 Adob​​e-Identity-UCS cmap 文件?
【发布时间】:2018-07-31 10:10:49
【问题描述】:

我有一个 pdf 文件无法通过 pdfbox 或 itext7 提取文本。字体由 Identity-H 和 Adob​​e-Identity-UCS 编码。下面给出 ToUnicode 的详细信息。

/CIDInit /ProcSet findresource 开始 12 字典开始 开始地图 /CIDSystemInfo > 定义 /CMapName /Adobe-Identity-UCS def /CMapType 2 定义 1 开始代码空间范围 结束码空间范围 结束地图 CMapName currentdict /CMap defineresource pop 结尾 结尾

ToUnicode 无效。有什么办法可以解决吗?

我尝试下载完整的 Adob​​e-Identity-UCS cmap 文件并替换它。但是经过大量谷歌搜索,我找不到 Adob​​e-Identity-UCS cmap 文件。

有什么帮助吗?谢谢。

编辑:

Chinese-cidmap-broken.pdf

【问题讨论】:

  • @TilmanHausherr。谢谢。我知道重写 ToUnicode 的方法,但是找不到 Adob​​e-Identity-UCS cmap。
  • @KlSoft 你能贴一个PDF文件的下载链接吗?
  • @MihaiIancu 当然。谢谢。
  • @KlSoft 我认为文件可能使用字符 Unicode 代码作为字形 ID,然后使用这个通用 cmap 名称而不填充实际 cmap,但这里不是这种情况。

标签: pdf itext adobe pdfbox


【解决方案1】:

您显示的 ToUnicode CMap 对应于 PDF 规范 ISO 32000(任一部分)中的示例 ToUnicode CMap,只是没有任何 bfrangebfchar 部分。

因此,您所拥有的本质上是一个模板,可以在其中放置任意映射

因此,关于您的问题:

有什么办法可以解决吗?

是和不是。

是的,您可以通过添加具有正确映射的适当 bfrangebfchar 部分来修复它。

但是...为此,您需要知道哪些代码分别映射到手头字体的哪些 Unicode 字符串,名称 Adobe-Identity-UCS 本身通常并不意味着映射.同样:

不,不是没有其他信息。

@Tilman 在他对您的问题的评论中引用了one of his answers,其中他展示了如何使用从不同来源收集的实际映射信息来添加缺少的 ToUnicode 映射。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多