PDF toUnicode cmap表还原

PDF toUnicode cmap表还原,pdf,unicode,ghostscript,Pdf,Unicode,Ghostscript,我有多个没有“toUnicode”cmap表的pdf文件。由于缺少cmap表,我无法从pdf文件中复制文本 据我所知,有可能在pdf文件中添加“toUnicode”映射,但在我的例子中,添加静态值不是一个选项,不同的文件有不同的glyph代码 因此,问题如下。在Ghostscript的帮助下,是否有可能恢复“toUnicode”cmap表,或者是否有任何选项 谢谢。不,您不能使用Ghostscript将ToUnicode CMAP添加到现有的PDF文件中 在一般情况下,您根本无法执行此操作,除非

我有多个没有“toUnicode”cmap表的pdf文件。由于缺少cmap表,我无法从pdf文件中复制文本

据我所知,有可能在pdf文件中添加“toUnicode”映射,但在我的例子中,添加静态值不是一个选项,不同的文件有不同的glyph代码

因此,问题如下。在Ghostscript的帮助下,是否有可能恢复“toUnicode”cmap表,或者是否有任何选项


谢谢。

不,您不能使用Ghostscript将ToUnicode CMAP添加到现有的PDF文件中

在一般情况下,您根本无法执行此操作,除非手动执行。正如您在问题中所注意到的,不同的文件将被构造为使用不同的字符代码->字形映射,这意味着字符代码到Unicode的映射也将不同

由于字符代码选择通常基于在文件中使用标志符号的顺序(因此第一个标志符号是字符代码1,第二个是字符代码2等),因此您可以看到不可能确定“一刀切”解决方案

您可以使用某种OCR扫描渲染输出,识别每个字形并找到其Unicode代码点。然后,您可以通过标识标志符号的字符代码并将其映射到Unicode值来构造CMap

然后,您可以将ToUnicode CMap添加到PDF文件中,并使用ToUnicode CMap的对象号更新字体描述符


Ghostscript不会为您执行任何操作,我也没有听说过任何工具会执行任何操作。

不,您不能使用Ghostscript将ToUnicode CMAP添加到现有的PDF文件中

在一般情况下,您根本无法执行此操作,除非手动执行。正如您在问题中所注意到的,不同的文件将被构造为使用不同的字符代码->字形映射,这意味着字符代码到Unicode的映射也将不同

由于字符代码选择通常基于在文件中使用标志符号的顺序(因此第一个标志符号是字符代码1,第二个是字符代码2等),因此您可以看到不可能确定“一刀切”解决方案

您可以使用某种OCR扫描渲染输出,识别每个字形并找到其Unicode代码点。然后,您可以通过标识标志符号的字符代码并将其映射到Unicode值来构造CMap

然后,您可以将ToUnicode CMap添加到PDF文件中,并使用ToUnicode CMap的对象号更新字体描述符

Ghostscript不会为你做任何这些,我也没听说有任何工具会这样做