【问题标题】:GhostPCL creates invalid pdfGhostPCL 创建无效的 pdf
【发布时间】:2018-12-05 08:04:55
【问题描述】:

我刚刚下载了GhostPCL

我是这样称呼GhostPCL的:

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

Input/Output: Get it from my DropBox

生成的pdf好像坏了。

我无法按预期选择文本

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

PDF-Content

是我遗漏了什么还是GhostPCL 中有错误?

【问题讨论】:

    标签: pdf ghostscript printer-control-language


    【解决方案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 文件无法编辑,也无法可靠地从中提取“文本”。有些会起作用,很多不会。

    【讨论】:

      猜你喜欢
      • 2014-02-07
      • 2013-01-18
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多