【问题标题】:GhostScript PDF to PCL Black and White with No GrayscaleGhostScript PDF to PCL 黑白无灰度
【发布时间】:2019-10-14 07:39:09
【问题描述】:

我有一个将 PDF 转换为 PCL 以进行自动打印的过程,但质量不好。这是我必须显示质量差的测试代码:

gs -dBATCH -dNOPAUSE -q -sDEVICE=ljetplus -sOutputFile=grayscaletest.pcl -f grayscaletest.pdf

grayscaletest.pdf 之前的样子: grayscaletest.pcl 之后的样子:

我意识到它这样做是因为设备 ljetplus,但这是我发现的唯一可以满足我需要的设备。所以,我想将所有灰色转换为黑色。我已经尝试过找到here (GitHub)here (superuser) 的解决方案,但它什么也没做。我什至无法让这个解决方案从 PDF 转换为 PDF,它只是保持不变。

GhostScript 版本是 9.06。任何帮助使用 ljetplus 提高质量,或者只是将所有内容转换为没有灰度的黑白,我们将不胜感激。

【问题讨论】:

    标签: pdf ghostscript printer-control-language


    【解决方案1】:

    嗯,这是一个黑白输出,它被半色调从 8 位输入产生 1 位输出。无论您做什么,如果您的设备仅支持 1 位输出,那么您总是必须应用某种筛选来表示灰度或颜色。

    您没有提供任何线索说明为什么 ljetplus 是您可以使用的唯一设备。不知道为什么很难提供任何具体的建议。

    但是....

    首先是更新您的 Ghostscript 版本。当前版本是 9.27,您使用的是 > 6 岁。

    屏幕看起来很粗糙,ljetplus 的默认分辨率是 300 dpi,这对您的打印机是否正确?如果不是,你会想要设置更高的分辨率,它会给你一个更好的屏幕。如今,大多数 PCL 设备的 dpi 为 600 或更高。

    假设您的 PDF 文件不包含半色调,接下来要做的是试验 Ghostscript 中可用的加网选项。您可以尝试此处描述的开关:

    https://www.ghostscript.com/doc/9.27/Use.htm#Rendering_parameters

    您也可以使用 PostScript 加网,但除非您已经了解 PostScript,否则实施起来会比较困难。 Ghostscript 中也有随机屏幕可用,但不知道您对 PostScript 的熟悉程度我不想走那条路。

    您当然可以使用 Ghostscript 渲染为高分辨率位图,也可以通过您选择的图像处理将其抖动为单色,然后将其输出回 PDF 或 PostScript,或者 Ghostscript 有程序可以读取的图像格式(例如,ghostpdl/lib 目录中的 viewpbm.ps)。

    ImageMagick 可能会为您完成上述所有步骤,然后一旦您有了单色输入文件,您就可以通过 Ghostscript 简单地运行它以获得 PCL 输出文件。

    【讨论】:

    • ljetplus 是唯一有效的设备。它需要在许多不同的打印机上工作,并且并非所有打印机都具有相同版本的 PCL。当我使用 pxlmono 等其他设备时,它只会在我测试过的大多数打印机上给我很多页的 ASCII 字符。我可能可以说服我们的系统管理员更新 GhostScript,但可能需要一段时间。我们确实在该项目开始时考虑了 ImageMagick,它可能值得再次研究。您认为我对 PS 编码知之甚少是对的,但我愿意学习它。我会更新我的尝试。
    • 好吧,PXL 是一种与 PCL 完全不同的语言,它更现代。如果您对所有打印机都使用“最低公分母”,那么与本地驱动打印机相比,恐怕您会遇到质量下降。除非您拥有一批旧打印机,否则如果其中许多打印机真的是 300 dpi,我会感到惊讶。如果您使用 300 dpi 的 drvier 600 dpi 打印机,那么您最终将得到四分之一的灰色阴影可以使用,这显然看起来比必要的更糟糕。
    • 我们有非常旧的和非常新的打印机的可爱组合,而且不知道这些打印机可能需要在哪里打印 :) 我尝试了您链接的开关,但它们都没有工作(可能是因为它是仍为 1 位)。是否有任何设备可以尝试使用至少 8 位的打印,这些设备适用于任何支持 PCL 的打印机?也许在较新的版本中,以便我可以用它来说服系统管理员?
    • 在较新版本的 Ghostscript 中没有任何更新的 PCL 设备,PCL 是一种“成熟”的技术,所以我们真的不需要新设备。可用的设备包括 cdeskjet、cdj550、cdjcolor、cdjmono、deskjet、djet500、djet500c、laserjet、lj250、ljet2p、ljet3、ljet3d、ljet4、ljet4d、ljetplus。我相信所有这些都是 PCL 打印机,还有 pjxl、pjxl300、pxlcolor 和 pxlmono,它们是 PCL XL 设备。恐怕我不知道其中哪些支持彩色或灰度。不过,我建议将分辨率提高到 600 作为第一步。
    • 关于升级 Ghostscript 的版本,您使用的版本存在许多严重漏洞,包括远程代码执行。您的系统管理员应该认真考虑升级作为紧急事项。您还应该在命令行中添加 -dSAFER,如果您不添加,即使升级到新版本也无济于事。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 2016-10-31
    • 2017-01-12
    • 2011-07-03
    • 1970-01-01
    • 2013-04-21
    • 2023-03-14
    相关资源
    最近更新 更多