GhostPCL创建无效的pdf

时间:2018-06-26 14:41:43

标签: pdf ghostscript printer-control-language

我刚刚下载了GhostPCL

这就是我给GhostPCL打电话的方式:

> gpcl6win64.exe -sDEVICE=pdfwrite -o C:\temp\output.pdf C:\temp\input.spl

Input/Output Get it from my DropBox

生成的pdf似乎已损坏。

我无法按预期选择文本

enter image description here

当我将所选内容复制到记事本时,它看起来像这样:

PDF-Content

我丢失了某些东西还是GhostPCL中存在错误?

1 个答案:

答案 0 :(得分:1)

这是因为PCL对于另一种编码而言,关于给定字符代码的信息非常非常有限。例如说Unicode。

PCL页面完全有可能下载自定义子集字体,然后使用只能与该字体“正确”工作的字符代码。

例如,假设我们以一种方式嵌入字体,即为我们使用的第一个字符设置字符代码1,为第二个字符设置字符代码2,依此类推。然后我们发送文本“ Hello World”

然后在PCL中将其表示为

0x01 0x02 0x03 0x03 0x04 0x05 0x06 0x04 0x07 0x03 0x08

很显然,这不是任何有意义的编码,而且PCL没有任何方法可以携带Unicode映射。

现在,您的PCL文件包含几种TrueType字体,并且它的“可能”是,字体的CMAP子表中有足够的信息来使“文本”具有某种意义,但是GhostPCL没有有点老练。

因此,不,您没有丢失任何东西,而且没有错误。请注意,pdfwrite的目标是生成的PDF文件应该与打印输出明显相同,仅此而已。尽管人们一厢情愿,但PDF从来没有被设计为可编辑的格式,并且绝大多数PDF文件都无法编辑,也不能可靠地从中提取“文本”。有些会起作用,很多不会。