Blank pages when printing Mozilla PostScript file with 2 pages/sheet on postscript printer

Hartvig Ekner hje at tpack.net
Sun Oct 24 23:58:40 PDT 2004


I have placed the non-printing mozilla postscript file at this URL:

http://www.ekner.info/mozilla.ps

Note that it is not a particular output file from Mozilla Mail which prints blank pages
when 2 pages/page have been selected, it seems to be all of them - at least all the
ones I tried.

Hartvig


Helge Blischke wrote:
> The number-up processing is done by the pstops filter. Please post
> an URL to your captured file so somebody (maybe me) can look into it.
> 
> Helge
> 
> Hartvig Ekner wrote:
> 
>>Hi,
>>
>>I runnung SuSE 9.1 (2.6.5 kernel) with the CUPS version bundled with SuSE:
>>
>>[hje at hje-6 hje]$ rpm -qa | grep cups
>>cups-drivers-stp-1.1.20-60
>>cups-drivers-1.1.20-66.1
>>cups-1.1.20-108.8
>>cups-client-1.1.20-108.8
>>cups-libs-1.1.20-108.8
>>
>>against two printers, one Canon iR3300, one HP Color LaserJet 4600, both network printers accessed via LPD.
>>Both are setup as generic Postscript printers. From the ir3300.ppd file in /etc/cpus/ppd:
>>
>>*FormatVersion: "4.3"
>>*FileVersion:   "1.1"
>>*LanguageVersion: English
>>*LanguageEncoding: ISOLatin1
>>*PCFileName:    "POSTSCRI.PPD"
>>*Manufacturer:  "Generic"
>>*Product:       "(PostScript Printer)"
>>*cupsVersion:   1.0
>>*cupsManualCopies: True
>>*cupsModelNumber:  2
>>*cupsFilter:    "application/vnd.cups-postscript 0 foomatic-rip"
>>*%pprRIP:        foomatic-rip other
>>*ModelName:     "Generic PostScript Printer"
>>*ShortNickName: "Generic P.S. Printer Postscript"
>>*NickName:      "Generic PostScript Printer Foomatic/Postscript (recommended)"
>>*PSVersion:     "(3010.000) 550"
>>*PSVersion:     "(3010.000) 651"
>>*PSVersion:     "(3010.000) 652"
>>*PSVersion:     "(3010.000) 653"
>>*PSVersion:     "(3010.000) 704"
>>*PSVersion:     "(3010.000) 705"
>>*PSVersion:     "(3010.000) 800"
>>*LanguageLevel: "3"
>>*ColorDevice:   True
>>*DefaultColorSpace: RGB
>>*FileSystem:    False
>>*Throughput:    "1"
>>*LandscapeOrientation: Plus90
>>*TTRasterizer:  Type42
>>
>>Everything works fine, except printing Mozilla output with the two-pages per page option.
>>I have grabbed the Mozilla output (print to file), and I can ghostview it and print it out to
>>both printers with one page per page without problems. If I print it out with two pages/page, I get
>>blank output. Postscript output generated from other programs prints fine with two pages/page.
>>
>>I have tried to process exactly the same failing Mozilla postscript file with "mpage -2", and then
>>print it through CUPS with one-page/page setting in CUPS, and then it does print (with 2 pages/page).
>>This makes me believe that the CUPS filter dealing with multiple pages/page scaling has a problem
>>with Mozilla postscript input files.
>>
>>To attempt to debug this, I have turned on the debug option in cups.conf and performed two
>>prints - one with 1 page/page (prints fine) and one with 2 pages/page (blank page output). In both
>>cases it runs the following filters: pswrite, pstops, foomatic-rip and backend/lpr. Which one is
>>BTW handling the multiple pages/page output? I will spare the group of the entire log files for both
>>runs, but the place where I can see a difference is here:
>>
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Option: PreFilter=No --> Setting option
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Found: %% FoomaticRIPOptionSetting: PreFilter=No
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Option: PreFilter=No --> Setting option
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Found: %%BeginFeature: *Resolution default
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Option: Resolution=default --> Setting option
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Found: %% FoomaticRIPOptionSetting: Resolution=default
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Option: Resolution=default --> Setting option
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Found: %%BeginFeature: *Duplex Notcapable
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Option: Duplex=Notcapable --> Setting option
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Found: %% FoomaticRIPOptionSetting: Duplex=Notcapable
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Option: Duplex=Notcapable --> Setting option
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Found: %%EndSetup
>>D [21/Oct/2004:16:25:20 +0200] [Job 13]
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] -----------
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] New page:  1 1
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Inserting option code into "PageSetup" section.
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] No page header or page header not DSC-conforming
>>D [21/Oct/2004:16:25:20 +0200] [Job 13]
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Found: %%BeginPageSetup
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Found: %%EndPageSetup
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] End of page header
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Stopping search for page header options
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Found:
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] 0003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE00
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] --> Output goes directly to the renderer now.
>>D [21/Oct/2004:16:25:20 +0200] [Job 13]
>>D [21/Oct/2004:16:25:20 +0200] [Job 13]
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Starting renderer
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] renderer PID kid4=7775
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] JCL: <job data>
>>D [21/Oct/2004:16:25:20 +0200] [Job 13]
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] renderer command: level=0; printf "%%!\n%%%% %%%%\n"; if (( $level > 0 )); then if (( $level < 99 )$D [21/Oct/2004:16:25:20 +0200] [Job 13] 0 %%PageTrailer
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] 0 %%Trailer
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Saw Trailer!
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Saw EOF!
>>D [21/Oct/2004:16:25:20 +0200] [Job 13]
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] Closing renderer
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] tail process done writing data to STDOUT
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] KID4 finished
>>D [21/Oct/2004:16:25:20 +0200] [Job 13] KID3 exited with status 0
>>
>>The log above was from the successful print (1 page/page). The same location in the failing print log
>>looks like this:
>>
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Found: %% FoomaticRIPOptionSetting: Resolution=default
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Option: Resolution=default --> Setting option
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Found: %%BeginFeature: *Duplex Notcapable
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Option: Duplex=Notcapable --> Setting option
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Found: %% FoomaticRIPOptionSetting: Duplex=Notcapable
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Option: Duplex=Notcapable --> Setting option
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Found: %%EndSetup
>>D [21/Oct/2004:16:19:13 +0200] [Job 12]
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] -----------
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] New page:  1 1
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Inserting option code into "PageSetup" section.
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] No page header or page header not DSC-conforming
>>D [21/Oct/2004:16:19:13 +0200] [Job 12]
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Found: %%BeginPageSetup
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Found: %%EndPageSetup
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] End of page header
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Stopping search for page header options
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Found:
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] $X
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] --> Output goes directly to the renderer now.
>>D [21/Oct/2004:16:19:13 +0200] [Job 12]
>>D [21/Oct/2004:16:19:13 +0200] [Job 12]
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Starting renderer
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] JCL: <job data>
>>D [21/Oct/2004:16:19:13 +0200] [Job 12]
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] renderer PID kid4=7757
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] renderer command: level=0; printf "%%!\n%%%% %%%%\n"; if (( $level > 0 )); then if (( $level < 99 )$D [21/Oct/2004:16:19:13 +0200] [Job 12] 0 %%PageTrailer
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] 0 %%Trailer
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Saw Trailer!
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] pw = 547.0, pl = 770.0
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] PageLeft = 24.0, PageRight = 571.0
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] PageTop = 818.0, PageBottom = 48.0
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] PageWidth = 595.0, PageLength = 842.0
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Saw EOF!
>>D [21/Oct/2004:16:19:13 +0200] [Job 12]
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] Closing renderer
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] tail process done writing data to STDOUT
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] KID4 finished
>>D [21/Oct/2004:16:19:13 +0200] [Job 12] KID3 exited with status 0
>>
>>Note the "Found: $X" - is this significant? Everything else looks similar in both logs.
>>
>>Which filter is doing the scaling (pswrite, pstops or foomatic-rip?)
>>Can I somehow capture the output after the scaling filter or run the filter manually
>>to verify the contents with ghostview?
>>
>>Any input on how I can debug this further would be appreciated!
>>
>>Best regards,
>>
>>Hartvig
> 
> 




More information about the cups mailing list