双面后记 - 强制新页面
Posted
技术标签:
【中文标题】双面后记 - 强制新页面【英文标题】:Duplex Postscript - Force new page 【发布时间】:2010-11-14 05:51:20 【问题描述】:有没有一种简单的方法可以在不插入空白页的情况下将 postscript 页面强制到新的物理页面上?
例如假设我有一个包含 10 个附言页的 PS 文档,需要打印到不同的文档包中:
1 - 物理页面 1 正面
2 - 物理页 1 背面
3 - 物理页面 2
4 - 物理页面 3 正面
5 - 物理页 3 背面
6 - 物理页面 4 正面
7 - 物理页面 5
8 - 物理页 6 正面
9 - 物理页面 7 正面
10 - 物理第 7 页背面
我可以将整个文件设置为双面打印,并在第 3、6、7 和 8 页之后插入虚拟页面,但我想避免这种情况,因为我们的打印机按每次展示而不是按物理页面收费。
我希望有一个简单的 PS 语法对应于“强制到首页”。
【问题讨论】:
【参考方案1】:尝试关闭双面打印并立即重新打开,否则会插入空白页。
<< /Duplex false >> setpagedevice
<< /Duplex true >> setpagedevice
setpagedevice
隐式调用 erasepage
和 initgraphics
(所以在相关的 showpage
之后使用它),但是 PostScript 语言参考手册说:
在设备激活时,双面设备总是在一张新的介质上打印第一页;停用时,如果仅在一面打印,它会自动传送最后一张介质。
所以,如果这可行,它应该保存showpage
,但仍能正确弹出页面。
【讨论】:
【参考方案2】:这可能有点牵强,但您可以更改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 在他的回答中所显示的那样。
【讨论】:
以上是关于双面后记 - 强制新页面的主要内容,如果未能解决你的问题,请参考以下文章