pstops number-up with incorrect last page
Michael Sweet
mike at easysw.com
Fri Jan 4 07:38:11 PST 2008
Markus Durzinsky wrote:
> The pstops filter is producing incorrect output with number-up=2 on some documents.
>
> I use cups 1.3 r7167 compiled with Sun Studio 11 on a sparcv8, Solaris 9. On some ps-files (e.g. created by the cups pdftops filter, or some latex-beamer-presentations) with an odd number of pages and printed with 'number-up=2' the last page is missing.
>
> Calling the pstops-filter manually
> /path/to/cups/lib/cups/filter/pstops 1 user title 1 "number-up=2" w1.ps > w1-2up.ps
> creates a ps-file, where the last page is displayed incorrectly/incompletely by gv (using AFPL Ghostscript 8.50 (2004-12-10)) and also not printed by our HP LaserJet 4350.
>
> To resolve this, I did the following:
> filter/pstops.c (7067 2007-11-09 19:54:09Z mike) contains some code
>
> if (number && !is_first_page(number) && cupsArrayLast(doc->pages)) {
> pageinfo = (pstops_page_t *)cupsArrayLast(doc->pages);
>
> start_nup(doc, doc->number_up, 0, doc->bounding_box);
> doc_puts(doc, "showpage\n");
> end_nup(doc, doc->number_up);
>
> pageinfo->length = cupsFileTell(doc->temp) - pageinfo->offset;
> }
>
> which is not executed on the last output page with an odd-page input document, due to the "!is_first_page(number)".
>
> I just removed the !is_first_page(number) test, so the command is now
> if (number && cupsArrayLast(doc->pages)) { ... nup-stuff ... }
> and everything works fine.
>
> The resulting ps-file is fully printable and can be viewer with gv.
>
> So, why should start/end_nup not be executed on the last output sheet containing only a single page?
It should be, but the best thing to do is file an official bug report
on cups.org:
http://www.cups.org/str.php
Please include a sample PS file that demonstrates the problem.
Thanks!
--
______________________________________________________________________
Michael Sweet, Easy Software Products mike at easysw dot com
More information about the cups-devel
mailing list