GhostScript PDF 转 PCL 黑白无灰度

GhostScript PDF to PCL Black and White with No Grayscale

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

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

这是 grayscaletest.pdf 之前的样子: And what grayscaletest.pcl looks like after:

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

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

好吧,这是黑白输出,它经过半色调处理以从 8 位输入生成 1 位输出。无论您做什么,如果您的设备仅支持 1 位输出,那么您总是需要应用某种筛选来表示灰度或颜色。

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

然而....

第一件事是更新您的 Ghostscript 版本。当前版本是 9.27,你用的是 > 6 岁。

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

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

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

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

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

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