Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!usc!elroy.jpl.nasa.gov!decwrl!adobe!gelphman From: gelphman@adobe.COM (David Gelphman) Newsgroups: comp.lang.postscript Subject: Re: copypage on duplex printers Message-ID: <9184@adobe.UUCP> Date: 16 Dec 90 09:14:31 GMT References: <1019@quiddity.queensu.CA> <1734@chinacat.Unicom.COM> <1990Dec6.134809.213@panix.uucp> <1736@chinacat.Unicom.COM> Reply-To: gelphman@adobe.UUCP (David Gelphman) Organization: Adobe Systems Incorporated, Mountain View Lines: 85 In article <1736@chinacat.Unicom.COM> woody@chinacat.Unicom.COM (Woody Baker @ Eagle Signal) writes: >On a single page printer, you can image a page, do a copypage, and then >go back and erase a portion of the page, change the data and do another >copypage etc. This makes for very fast generation of repetitive things >like flyers or newsletters that are mailed to diffrent individuals. >Unfortunatly, the duplex implementation does (currently) not work in >an analogous manner. If you print a double sided newsletter, say, and >then want to change some data on one of the pages, you have to re-image >the entire document. What should happen, is that you should be able to >make either the front or back side the currently active side, so that >you could select side 1, change data just like you can on a single >sided page, and then using copypage, kick another copy of the page >out. As more and more duplexing printers (I know of on that is >currently in the works) come out, unless this is changed, they will >be crippled, and virtually useless. To the contrary, I believe that the current implementation of copypage on duplex devices is the one most useful for almost every use of duplex printing. In addition it is exactly as it should be in order to follow the normal semantics of the PostScript language. An example is probably appropriate. Consider a page description which calls showpage 4 times and is printed on a simplex printer. I get four sheets of paper, each of which has marks on one side of the paper: sheet number 1 2 3 4 page image A B C D Now imagine printing the same document on a printer which is printing on both sides of the paper: sheet number 1-side1 1-side2 2-side1 2-side2 page image A B C D This is what one would expect when printing duplex and indeed that is what you get on a PostScript printer which supports duplex printing. Now what happens if you use 'copypage'. The effect of 'copypage' is to allow marks on a given 'page' to be copied to the next page instead of starting with no marks on the next page. Here the meaning of the word 'page' is exactly as it is in the previous case, e.g. it means the next page image which may be on a different physical sheet (simplex printing) or the same sheet (duplex printing). Here is what I get if instead of calling showpage in the above example I call copypage imaging each page. On a simplex printer: sheet number 1 2 3 4 page image A A' A'' A''' Where A' is a page image which contains all of A and whatever marks I place before the next copypage. A'' is a page image which contains all of A' and whatever marks I place before the next copypage, and so on. Now if I am printing to a duplex printer, I would hope that the results are consistent with what I obtained in the example above. I would expect: sheet number 1-side1 1-side2 2-side1 2-side2 page image A A' A'' A''' Indeed that is what I get on a duplexing PostScript printer when using copypage as described above. I believe this is the behavior that most PostScript programmers expect and is appropriate given the semantics of the PostScript language. It may not allow copypage to achieve some special purposes; however, I believe it is the correct implementation. General comment: In many cases, copypage is used by PostScript programmers to enable forms printing at high speed. One of the problems with copypage is that it copies ALL of the graphics from the previous page image which is typically NOT what a forms programmer wants. We have tried to address this shortcoming with a new mechanism in PostScript level 2 which allows for 'forms' to be created and imaged with the benefit of caching when possible. A form is similar to a font with one character but it can contain color information and still be cached (unlike fonts). I hope this clarifies things a bit. David Gelphman Adobe Systems Incorporated Developer Technical Support