gpt4 book ai didi

pdf - Ghostscript - PDF 文件,有多个托盘,有很多问题

转载 作者:行者123 更新时间:2023-12-01 13:43:16 25 4
gpt4 key购买 nike

我的英语说得不好,但我希望有人能在这方面帮助我...

我在这上面花了几天时间,但我自己想不通。这是交易:

我有 4000 多个 PDF 文档,带有 TrimBox 边距,每个文档有 16 页,彩色。

我需要批量打印它们:

  • 使用纸盒 3 上的纸张打印第 1-10 页;
  • 使用纸盘 4 上的纸张打印第 11-15 页,两份未整理。
  • 使用纸盒 3 上的纸张打印第 16 页。

我使用的是 Kyocera 7550ci,the PPD is here.

我已经安装了 GhostScript 9.19,还安装了带有 gsprint 的 gsview。 Windows 7 SP1。

当我第一次尝试做任何事情时,我不知道 ghostscript 或如何使用它,但是通过阅读我设法“某种程度上”解决了这个问题。我在 Windows 控制面板上复制了打印机,为每个打印机设置了我想要的配置,并在 GSPRINT 上执行了以下命令:

gsprint -printer "Kyocera TASKalfa 7550ci KX" -color -dUseTrimBox -dFitPage -from 1 -to 10 s_file0001.pdf
gsprint -printer "ALT Kyocera" -color -dUseTrimBox -dFitPage -from 11 -to 15 -copies 2 s_file0001.pdf
gsprint -printer "Kyocera TASKalfa 7550ci KX" -color -dUseTrimBox -dFitPage -from 16 -to 16 s_file0001.pdf

(我将 TASKalfa 7550ci 默认驱动程序设置为使用纸盒 3,将 ALT Kyocera 设置为使用纸盒 4 并取消分页)。

它可以工作,但对于 Windows 进程和要处理的打印机来说都非常缓慢。我很快意识到 GSPRINT 很慢,因为它必须将整个图像渲染为位图,并开始看看我是否可以使用纯 GhostScript 来完成这项工作。

gswin32c -dBATCH -dNOPAUSE -q -dUseTrimBox -dFitPage -dFirstPage=1 -dLastPage=10 -sDEVICE=mswinpr2 -sOutputFile="%printer%Kyocera TASKalfa 7550ci KX" -f test.pdf
gswin32c -dBATCH -dNOPAUSE -q -dUseTrimBox -dFitPage -dFirstPage=11 -dLastPage=15 -sDEVICE=mswinpr2 -sOutputFile="%printer%ALT Kyocera" -f test.pdf
gswin32c -dBATCH -dNOPAUSE -q -dUseTrimBox -dFitPage -dFirstPage=16 -dLastPage=16 -sDEVICE=mswinpr2 -sOutputFile="%printer%Kyocera TASKalfa 7550ci KX" -f test.pdf

但我仍然遇到很多问题......我很沮丧,即使非常努力地阅读手册和搜索,我也无法让它工作。

  • 使用 mswinpr2 仍然很慢,给我错误的颜色,并且不知道如何选择纸盒。
  • 使用任何包含的 PCL 驱动程序,altrought 速度很快,并设法使用 dMediaPosition 选择正确的托盘,只有黑白驱动程序...
  • 使用 pdfwrite,未正确缩放 TrimBox 以适合整个页面,也无法选择正确的托盘。
  • 使用 ps2write,无法选择托盘并且弄乱了页面位置。

我迷路了。有人可以给我一些指示吗?另外,有什么方法可以将所有内容作为一个文件发送到打印机吗?

谢谢大家!

---编辑---

谢谢两位的回答!

我设法让它工作:

gswin32c -dBATCH -dNOPAUSE -q -dPDFFitPage -dUseTrimBox -dFirstPage=1  -dLastPage=10 \
-dMediaPosition=7 -sDEVICE=pxlcolor \
-sOutputFile="%printer%Kyocera TASKalfa 7550ci KX" -f in.pdf

gswin32c -dBATCH -dNOPAUSE -q -dPDFFitPage -dUseTrimBox -dFirstPage=11 -dLastPage=15 \
-dMediaPosition=5 -sDEVICE=pxlcolor -dNumCopies=2 \
-sOutputFile="%printer%Kyocera TASKalfa 7550ci KX" -f in.pdf

gswin32c -dBATCH -dNOPAUSE -q -dPDFFitPage -dUseTrimBox -dFirstPage=16 -dLastPage=16 \
-dMediaPosition=7 -sDEVICE=pxlcolor \
-sOutputFile="%printer%Kyocera TASKalfa 7550ci KX" -f in.pdf

唯一的问题是页面在 pxlcolor 上无法正确缩放(在 ljet4 上可以,但它是黑白的)。

我快到了!谢谢^^。如果有人知道这个问题,我将不胜感激。

最佳答案

您一下子提出了很多的问题,这并不是获得有用答案的好方法。另外有些问题你还不是很清楚。

1) 如果你想为媒体大小使用 TrimBox,那么你必须告诉 Ghostscript 你想使用 TrimBox,你可以通过 -dUseTrimBox 来实现,无论你想使用什么设备使用。

2) mswinpr2 设备的工作方式是为打印机创建 Windows DeviceContext,将输入呈现为 (RGB) 位图,然后将位图 blitting 到 DeviceContext 并告诉它自行打印。这很慢,因为它将涉及将大位图(大小取决于打印机分辨率)渲染到内存,然后将该大位图发送到设备。

它的一大优势是无论您使用何种打印机,它都能正常工作。

GSPrint 使用“类似”但有些不同的技术,并且声称速度更快。

请注意,这两种设备都使用打印机的默认设置,这可能无法满足您的复杂需求。

当然,在这种情况下,颜色管理取决于 Windows,但如果您的原始 PDF 指定为 CMYK,那么这将涉及转换 CMYK->RGB->CMYK,这必然会导致颜色差异。

3) Ghostscript 中有彩色 PCL 设备可用,例如 cdeskjet 设备。

4) 如果您选择 -dUseTrimBox,pdfwrite 将使用 TrimBox。由于它创建了一个 PDF 文件,因此很难看出它是如何“选择正确的托盘”的。如果您要将 PDF 文件发送到打印机,那么您可以简单地从原始 PDF 文件开始。 PDF 文件不能包含与设备相关的标准,例如托盘选择。

5) 当前版本的 ps2write 将允许您添加特定于设备的操作,请参阅 ghostpdl/doc/VectorDevices.htm(也可在 ghostscript.com 网站上获得)第 6.5 节“PostScript 文件输出”并查找PSDocOptionsPSPageOptions 键。您可以使用 PSPageOptions 数组向每个页面引入单独的媒体选择命令。我不知道你所说的“弄乱页面位置”是什么意思,但是如果你不选择 -dUseTrimBox 那么它就不会使用 TrimBox.......

哦,如果你想“缩放 TrimBox 以适应整个页面”(你只提到了 pdfwrite)那么你将不得不设置一个固定的媒体,其大小是你希望页面缩放到的(-dFIXEDMEDIA-dDEVICEHEIGHTPOINTS=-dDEVICEWIDTHPOINTS=),选择-dUseTrimBox-dPDFFitPage.

关于pdf - Ghostscript - PDF 文件,有多个托盘,有很多问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38085943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com