2010-12-20 56 views
2

我已经彻底地在网上搜索了这个问题的答案;但是,大多数答案都提到了使用showpage的一些问题。我知道您可以使用showpage将多个页面打印到打印机,但我想在计算机上查看多个页面。我希望看到像Evince这样的程序中的所有页面。在postscript中,我如何打印到多个页面上。我该怎么做呢?

我听说过使用标准注释来打印多个页面,但我不知道它们是如何工作的。

任何有用的意见将不胜感激。 谢谢!

回答

1

postscript中的showpage过程呈现一个页面,并清除阅读图形比赛的一般状态以开始一个新页面。任何新的绘图语句都将在新页面上完成。

如果没有SHOWPAGE调用,实际上是没有打印任何内容 - (虽然这是“.EPS”不同)

如果你想在屏幕上查看后记,SHOWPAGE仍然断言结束的方式每个“幻灯片”和下一个开始 - 你的应用程序必须处理。 Evince,因为它肯定会遵循showpage并暂停渲染,在渲染下一页之前等待用户干预(或者它会怎样渲染下一页)

你不会说你如何生成后记,但只需在要分页的地方添加“showpage”呼叫即可。

5

好的,我遇到了同样的问题。最终弄明白了。这不是完美的,但仔细比它...

%!PS-Adobe-2.0 

%%Pages: 2 
%%Page: 1 1 
newpath 
100 100 moveto 
400 400 lineto 
closepath 
5 setlinewidth 
stroke 
showpage 
%%Page: 2 2 
newpath 
100 400 moveto 
400 100 lineto 
closepath 
10 setlinewidth 
stroke 
showpage 

没有-Adobe-2.0%%Pages:%%Page:所有观众只显示最后一页。即showpage“打印”并丢弃第一页。这现在正在文档查看器(Ubuntu)和GhostView(Windows)中正确显示这两个页面。 Adobe Illustrator(窗口)现在只是显示第一页 - 显然,这不是一个完美的解决方案,而是一个步骤。

注意:标题后面的空白行似乎是必需的。不知道这里发生了什么,我从来没有读过任何正式的postscript文档。

1

每个页面必须以showpage结尾(EPS文件除外),但某些软件还要求文档用所谓的“文档结构化约定”进行评论。除其他外,这些评论清楚地表明了给定页面的隔离。

Evince可能要求PS文件符合DSC 3.0以使某些功能正常工作。我对Evince并不熟悉,但很多PS处理软件都依赖于DSC 3.0。

%!PS-Adobe-3.0 
...Beginning of document including setup, etc. 
%%Page: 1 1 
%%BeginPageSetup 
/pgsave save def 
%%IncludeResource: font TimesRoman 
%%EndPageSetup 
...rest of page 1. 
showpage 
%%Page: 2 2 
%%BeginPageSetup 
/pgsave save def 
%%IncludeResource: font TimesRoman 
%%EndPageSetup 
...rest of page 2. 
showpage 
%%Page: 3 3 
etc. 
...rest of the document... 
%%EOF 

您可以从Adobe获得DSC 3.0的定义(http://partners.adobe.com/public/developer/en/ps/5001.DSC_Spec.pdf)。