Duplex Postscript - 强制新页面

时间:2009-07-27 02:24:57

标签: postscript duplex

是否有一种简单的方法可以将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”。

2 个答案:

答案 0 :(得分:4)

尝试关闭双面打印,然后立即重新打开,否则将插入空白页。

<< /Duplex false >> setpagedevice
<< /Duplex true >> setpagedevice

setpagedevice隐式调用erasepageinitgraphics(因此请在相关的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 已在他的回答中显示。