[comp.lang.postscript] Change PS file to produce multiple copies

cortesi@informix.com (David Cortesi) (06/26/91)

I want to operate on a saved PostScript listing using UNIX tools,
with the aim of producing a new file that will print multiple
copies of each page without re-imaging the page for each copy.

We have a utility called "ditorder" that is supposed to do this
(part of the Elan "eroff" package) but it barfs on PostScript files
produced by Frame 2.0d on the NeXT.  We have the Transcript package
from Adobe (it is distributed with the NeXT software package) but
it doesn't seem to contain a utility to do this.  All it has is
"psrev" which will select pages but not print them in multiples.

Attached below find a fragment from the end of one page and the
start of the next.  Surely there is some simple thing I can do
in this area of a .ps file so that the just-imaged page will
display <n> times without having to be re-drawn entirely! Like,
just repeat the "showpage" line <n> times?

Thanks for any help.

Dave Cortesi (cortesi@informix.com)
-----------------------------------------------------------------
...commands to image page 1...
grestore
grestore
showpage
__NXsheetsavetoken restore
%%PageTrailer

%%Page: 56 2
%%PageBoundingBox: 36 72 576 720
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
36 72 translate
gsave
-36 -72 translate
 /__NXbasematrix matrix currentmatrix def
grestore
gsave
0 0 540 648 rectclip
[1 0 0 -1 0 648] concat
-36 -72 translate
%%EndPageSetup
gsave
...commands to image page 2...

carl@sol1.gps.caltech.edu (Carl J Lydick) (06/28/91)

In article <1991Jun25.214828.16868@informix.com>, cortesi@informix.com (David Cortesi) writes:
>I want to operate on a saved PostScript listing using UNIX tools,
>with the aim of producing a new file that will print multiple
>copies of each page without re-imaging the page for each copy.
>
>We have a utility called "ditorder" that is supposed to do this
>(part of the Elan "eroff" package) but it barfs on PostScript files
>produced by Frame 2.0d on the NeXT.  We have the Transcript package
>from Adobe (it is distributed with the NeXT software package) but
>it doesn't seem to contain a utility to do this.  All it has is
>"psrev" which will select pages but not print them in multiples.
>
>Attached below find a fragment from the end of one page and the
>start of the next.  Surely there is some simple thing I can do
>in this area of a .ps file so that the just-imaged page will
>display <n> times without having to be re-drawn entirely! Like,
>just repeat the "showpage" line <n> times?

Just precede the "showpage" with one instance of "copypage" for each extra page
you want.  You might also want to get a copy of the red book and/or learn to
look at the items listed under the heading "SEE ALSO:" for a given item.
--------------------------------------------------------------------------------
Carl J Lydick | INTERnet: CARL@SOL1.GPS.CALTECH.EDU | NSI/HEPnet: SOL1::CARL

cookc@computing-maths.cardiff.ac.uk (Chris Cook) (06/28/91)

In article <1991Jun25.214828.16868@informix.com> cortesi@informix.com (David Cortesi) writes:
>I want to operate on a saved PostScript listing using UNIX tools,
>with the aim of producing a new file that will print multiple
>copies of each page without re-imaging the page for each copy.
>
>Dave Cortesi (cortesi@informix.com)

Define the #copies variable to be the no. of copies of a page you want.
/#copies 8 def 
will produce 8 copies of each page each time you execute a showpage.

	Chris Cook - Postmaster

Cookc@Cardiff.ac.uk