我不会说一口流利的英语,但我希望有人能在这方面帮助我...

我花了几天时间,但我自己也搞不清。这是交易:

我有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,无法选择纸盘并且弄乱了页面位置。

  • 我迷路了。有人可以给我一些指示吗?另外,有什么方法可以将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文件输出”,并查找PSDocOptionsPSPageOptions键。您可以使用PSPageOptions数组将单独的媒体选择命令引入每个页面。我不知道您的意思是“弄乱页面位置”,但是如果您不选择-dUseTrimBox,那么它将不会使用TrimBox .....

    哦,如果您想“缩放TrimBox以适合整个页面”(您只提到了pdfwrite),那么您将必须设置一个您想要页面缩放到的大小的固定媒体(-dFIXEDMEDIA-dDEVICEHEIGHTPOINTS=-dDEVICEWIDTHPOINTS= ),选择-dUseTrimBox-dPDFFitPage

    10-08 11:11