我不会说一口流利的英语,但我希望有人能在这方面帮助我...
我花了几天时间,但我自己也搞不清。这是交易:
我有4000多个PDF文档,带有TrimBox页边距,每页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
但是我仍然有很多问题...令我沮丧的是,即使我真的很难阅读手册并四处寻找,也无法使它正常工作。
我迷路了。有人可以给我一些指示吗?另外,有什么方法可以将everthign作为一个文件发送到打印机?
谢谢你们!
---编辑---
谢谢你们的回答!
我设法使其工作:
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)位图,然后将位图刷写到DeviceContext并告诉其自行打印。这很慢,因为它将涉及到将大位图(大小取决于打印机分辨率)渲染到内存中,然后将该大位图发送到设备。
它的一大优点是,无论您使用哪种打印机,它都可以工作。
GSPrint使用的是“相似”但有些不同的技术,并且据称速度更快。
请注意,这两种设备都使用打印机的默认设置,这可能无法满足您的复杂需求。
当然,在这种情况下,色彩管理取决于Windows,但是如果在CMYK中指定了原始PDF,则将涉及到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文件输出”,并查找PSDocOptions
和PSPageOptions
键。您可以使用PSPageOptions
数组将单独的媒体选择命令引入每个页面。我不知道您的意思是“弄乱页面位置”,但是如果您不选择-dUseTrimBox
,那么它将不会使用TrimBox .....
哦,如果您想“缩放TrimBox以适合整个页面”(您只提到了pdfwrite),那么您将必须设置一个您想要页面缩放到的大小的固定媒体(-dFIXEDMEDIA
,-dDEVICEHEIGHTPOINTS=
和-dDEVICEWIDTHPOINTS=
),选择-dUseTrimBox
和-dPDFFitPage
。