是否有一种简单的方法可以将postscript页面强制插入到新的物理页面而不插入空白页面?
e.g。假设我有一个包含10个postscript页面的PS文档,需要打印到不同的文档包中:
1 - 物理Page 1正面
2 - 物理Page 1后侧
3 - 物理Page 2
4 - 物理正面
5 - 物理Page 3后侧
6 - 物理正面
7 - 物理Page 5
8 - 物理正面
9 - 物理正面
10 - 物理Page 7后侧
我可以将整个文件设置为双面打印,并在第3,6,7和8页之后插入虚拟页面,但我希望避免这种情况,因为我们的打印机每次展示费用,而不是每个实际页面。
我希望有一个简单的PS语法,它对应于“Force to front page”。
答案 0 :(得分:4)
尝试关闭双面打印,然后立即重新打开,否则将插入空白页。
<< /Duplex false >> setpagedevice
<< /Duplex true >> setpagedevice
setpagedevice
隐式调用erasepage
和initgraphics
(因此请在相关的showpage
之后使用它),但PostScript语言参考手册说:
在设备激活时,双面打印设备始终在新介质上打印第一页;在停用时,如果仅在一面打印,它会自动传送最后一张介质。
因此,如果这样做,它应该保存showpage
但仍然正确弹出页面。
答案 1 :(得分:0)
这可能是牵强附会,但您可以更改showpage
行为,然后根据需要进行编程。
% before the first -showpage-
/pageCount 0 def
% redefinition of 'showpage'
/showpage
{
showpage
/pageCount pageCount 1 add def
% add page checking here, and whatever logic you want
% just call another showpage to create an empty one
}
bind def
% 'bind' keeps old showpage unaltered, avoiding recursion
如果无法禁用双面打印,这是一个选项,因为 dreamlax 已在他的回答中显示。