【问题标题】:ghostPCL: why is this file not converted properly to PDF?ghostPCL:为什么这个文件没有正确转换为 PDF?
【发布时间】:2016-01-12 20:13:33
【问题描述】:

我正在使用 ghostpcl-9.18-win64。这是我用来生成 pdf 文件的脚本:

gpcl6win64-9.18.exe -sDEVICE=pdfwrite -sOutputFile=%1.pdf -dNOPAUSE %1.txt

可以在here找到要测试的文件,在here可以找到运行ghostpcl的结果。

如果您查看 pdf 文件,它只包含一个页面(应该有 2 个页面)并且缺少一些文本。这是为什么?我总是在脑海中想象 ghostpcl 会产生一个与打印输出相同的 pdf。我错过了什么,也许是参数?

事实上,当我使用 lpr 命令在 RHEL 上打印文件时,它打印的正是我所期望的。我想知道 ghostpcl 工具将 pcl 文件转换为 PDF 的可靠性如何。如果它不那么可靠,一个更广泛的问题是:是否有其他工具可以做到这一点?我主要对linux版本感兴趣。

txt 文件基于使用SQR 生成的文件。

谢谢

【问题讨论】:

  • OK 首先,您指向的文件显然只是一个文本文件,而不是真正的 PCL。其次,如果您使用显示设备通过 gpcl6win32.exe 运行它,那么您将看到完全相同的输出。因此,它与从输入创建 PDF 文件无关。我不是 PCL 专家,也没有 PCL 打印机可以试用。如果您认为输出不正确,那么您应该打开一个错误报告(但不是针对 pdfwrite 设备),了解 PCL 的人会告诉您为什么会发生这种情况。我的猜测是 PCL 实现之间的差异,它们不是很标准。
  • 实际上它确实包含 PCL,因此您确实必须让懂它的人查看该文件。

标签: pdf ghostscript printer-control-language


【解决方案1】:

事实上,OP 确实提出了一个错误报告(但这里没有提到):

http://bugs.ghostscript.com/show_bug.cgi?id=696509

我们的 PCL 维护人员认为输出是正确的,因为它与至少一台 HP 打印机匹配。有关详细信息,请参阅上面的 URL。

【讨论】:

  • 是的,我确认我创建了错误报告。我今天要更新我的帖子,但你在我前面。谢谢。
【解决方案2】:

根据关于 bug 线程的讨论,输入文件是无效的,因为它应该有 CRLF 而不是只有 LF。

如果我将 LF 转换为 CRLF,那么我的输入文件将按预期转换为 PDF。但是,将 LF 转换为 CRLF 并不是一个通用的解决方案。根据支持,LFs 可用于图像。在这种情况下,将这样的 LF 转换为 CRLF 可能会破坏图像。

似乎在错误线程上我错了一件事,在我们的系统中,lpr 在发送到打印机的最终文件中也包含回车符。我按照此处的说明进行操作:https://wiki.ubuntu.com/DebuggingPrintingProblems,以及“获取将发送到打印机的数据”部分中的说明打印到文件,并且该文件包括回车。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 2011-06-19
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    相关资源
    最近更新 更多