Ghostscript-PDF文件,有多个托盘,并且有很多问题
我英语说得不好,但我希望在这一点上有人能帮我 这件事我花了好几天时间,但我自己搞不清楚。交易如下: 我有4000多个PDF文档,带有TrimBox页边距,每个文档有16页,彩色 我需要批量打印它们:Ghostscript-PDF文件,有多个托盘,并且有很多问题,pdf,printing,ghostscript,postscript,Pdf,Printing,Ghostscript,Postscript,我英语说得不好,但我希望在这一点上有人能帮我 这件事我花了好几天时间,但我自己搞不清楚。交易如下: 我有4000多个PDF文档,带有TrimBox页边距,每个文档有16页,彩色 我需要批量打印它们: 使用纸盘3上的纸张打印第1-10页 使用纸盘4上的纸张打印第11-15页,两份未装订 使用纸盘3上的纸张打印第16页 我用的是京瓷7550ci 我已经安装了GhostScript 9.19,还安装了带有gsprint的gsview。Windows7SP1 当我第一次尝试做任何事情时,我不知道gh
- 使用纸盘3上的纸张打印第1-10页李>
- 使用纸盘4上的纸张打印第11-15页,两份未装订
- 使用纸盘3上的纸张打印第16页
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驱动程序,Altrowth都很快,并使用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上可以,但它是黑白的)
我快到了!谢谢。如果有人知道这个问题,我将不胜感激。要做到这一点并不容易。虽然PDF本身不提供切换纸盘的功能,但您需要将此流转换为另一个PDL。附言是个不错的选择 转换为PostScript时,可以插入PostScript托盘切换命令,如PPD中的命令:
<< /ManualFeed false >> setpagedevice statusdict begin 5 setpapertray end
>设置页面设备状态DICT begin 5设置纸盘结束
在Windows平台上,您可以选择以下实施方式:
showpage
,并使用第一个选项中描述的功能对其进行扩展
同样的代码重载
showpage
如果您有权访问控制器的内部,您可以插入PostScript解释器启动序列。您一次问了很多问题,这并不是获得有用答案的好方法。另外,你对一些问题还不是很清楚
1) 如果要将TrimBox用于介质大小,则必须告诉Ghostscript您要使用TrimBox,您可以通过-dUseTrimBox
,无论您要使用什么设备
2) mswinpr2设备的工作原理是:为打印机创建Windows DeviceContext,将输入呈现为(RGB)位图,然后将位图点播到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文件输出”,并查找PSDocOptions
和pspage options
键。您可以使用PSPageOptions
数组向每个页面引入单独的媒体选择命令。我不知道你所说的“弄乱页面位置”是什么意思,但是,如果你不选择-dUseTrimBox
,那么它将不会使用TrimBox
哦,如果你想“缩放修剪框以适应整个页面”(哪一个y