I would like to thank everybody who responded to my posting in the thread below. I am not sure whether I am dealing with a bug here, so before I bug bugzilla, I decided to post some new findings on this board. I activated logging of the foomatic-rip filter script. I printed a page I brought up with firefox into a file, then opened that file with kghostview, and from inside khostview I printed it; it came out perfect. I then saved the /tmp/foomatic-rip.log' file as 'foomatic-log-kghost'. Then, I printed the very same page directly from inside firefox; I got the same garbage (the printer started printing Postcript commands in ASCII and I had to stop it to save some trees). I then saved the '/tmp/foomatic-rip.log' file as 'foomatic-log.str8' (when configured for logging, the foomatic script apparently uses the file '/tmp/foomatic-rip.log' and overwrites it with new data when its starts a new job). I have attached both files (which they will probably show up at the end of the thread). Here are some salient points that I observed in the foomatic log files: When I printed from inside firefox (job #207, garbage out), very few printer options were passed to the filter. The printer the foomatic script declared was 'foomatic-rip' and the printer model 'Raw que' (which agrees with the fact I got Postscript commands to print instead of being executed). What is very-very odd, foomatic reported the weird string "media=Letter job-uuid=urn:uuid:e1b70a11-685d-387a-6c55-7321d5932670" as a PPD file!!!!!! Something seems to be amiss here. In stark contrast, when I printed from inside kghostscript (job #206, which printed successfully), the foomatic script was passed on (or recognized) a lot of options and declared the HP8450 queue name; it also explicitly mentioned the PPD file (residing at '/etc/cups/ppd/HP8450.PPD'). Therefore, the PPD file I use for this printer is NOT the problem (or, at least, was not the problem when printing that page from inside kghostview). What does kghostview do differently than firefox??? Why does foomatic get this weird string as a PPD file name when I try to print from inside firefox? Could there be some error in foomatic, which causes the arguments passed to the script to be parsed incorrectly? CF PS. I did visit < http://en.opensuse.org/SDB:CUPS_in_a_Nutshell > and found it very informative. In some cases it should mention /usr/lib64 for the 64 bit architectures. Also the URL < http://localhost:631/spm.html >, mentioned in the CUPS_in_a_Nutshell article, does not exist on my system (but the CUPS GUI at http://localhost:631 works fine). Klaus Singvogel wrote:
Constantine 'Gus' Fantanas wrote:
richard (MQ) wrote:
Constantine 'Gus' Fantanas wrote:
The printer prints the test page from inside YAST perfectly well. And it also prints the test page from inside the CUPS administration tool (http://127.0.0.1:631) without any problem, even the fine radial lines 1 degree apart. It also works fine from inside openoffice. But when I try to print from inside firefox or Thunderbird, it seems it wants to print the Postscript instructions rather than executing them.
Problem is not known by me.
I have the same problems with an old HP laserjet, both on AMD64 and i386 installations (and various SuSE / openSuSE versions since about 9.3 right up to 10.2. Yet to try it in 10.3a2). Solution was to select a different PPD during YaST install - I usually use LJ5 - then it all works nicely.
What was the name of the (bad) PPD?
The printer in question is displayed as CUPS/xxxxx. I did some more troubleshooting by watching the output of 'tail -n 200 -f /var/log/cups/error_log' and 'tail -n 200 -f /var/log/cups/access_log'. In the former (which apparently does not log only errors but also other important information),
Just set "LogLevel debug" in file /etc/cups/cupsd.conf (and dont forget to do the "rccups force-reload").
The steps are always the same: invoke 'pstops', then the 'foomatic-rip' filter, and then the 'socket' backend. I guess this is done by the PPD file for the printer. So, with exactly the same sequence, the firefox output on the printer is PS commands (garbage) while the output of the test files is what it should be.
You might got installed the wrong driver (PPD file). There are printer models, which have a PostScript interpreter and others (with the same name) dont have. Maybe installation of a different driver (PPD file) is the solution?
Going further, I asked firefox to print to a file. Here it gets interesting. If I open the file with KGhostscript and then print it from inside KGHostscript, the file prints fine! If I do the same from other PS viewers (e.g. 'gv'), the output is garbage again. I also get the same garbage if I queue a PDF file directly to the printer.
All this seems to point towards some incompatibility of the Postscript format with the 'foomatic-rip' filter. It seems that KGhostview somehow makes some (perhaps minor) reformatting, which makes its output compatible with the 'foomatic-rip' filter.
'foomatic-rip' hasn't changed much between 10.0 and 10.3a2 (only a few lines), so I doubt that this the origin of the issue. Other things have changed more: cups, ghostscript, drivers.
I have done sooooo much googling trying to solve this problem! I think I read somewhere that the 'foomatic-rip' filter should be avoided. I am not sure where I read it. The driver invoked by CUPS is the generic 'Foomatic/hpijs' driver, which is provided by HP and is used on many other HP printers. I guess it was the same driver I was using under SuSE 10.0_x64.
hpijs is changing recently. So I doubt that it is the same driver used in 10.3a2 and 10.0.
I think best solution is to open a new bugzilla at https://bugzilla.novell.com/ and explain the full issue there. (Dont forget to choose "Printing" as Component :-)
Another helpful source of information is http://en.opensuse.org/SDB:CUPS_in_a_Nutshell
Regards, Klaus.
-- Running 64-bit Linux on AMD64 foomatic-rip version $Revision$ running... called with arguments: '207', 'gus', 'Printers - CUPS 1.2.7', '1', '-p media=Letter job-uuid=urn:uuid:e1b70a11-685d-387a-6c55-7321d5932670' Parsing PPD file ... Parameter Summary ----------------- Spooler: cups Printer: foomatic-rip Shell: /bin/bash PPD file: media=Letter job-uuid=urn:uuid:e1b70a11-685d-387a-6c55-7321d5932670 ATTR file: Printer model: Raw queue Options: Job title: Printers - CUPS 1.2.7 File(s) to be printed: <STDIN> GhostScript extra search path ('GS_LIB'): /usr/share/cups/fonts ================================================ File: <STDIN> ================================================ Raw printing, executing "cat " $VAR1 = { 'cupsfilter' => {}, 'cmd' => 'cat%A%B%C%D%E%F%G%H%I%J%K%L%M%Z', 'args' => [] }; Closing foomatic-rip. foomatic-rip version $Revision$ running... called with arguments: '206', 'gus', 'KDE Print System', '1', 'orientation-requested=3 job-uuid=urn:uuid:f0ce4349-7b98-3820-670a-7141941add09' Parsing PPD file ... *cupsFilter: "application/vnd.cups-postscript 0 foomatic-rip" Added option ColorSpace Added option Resolution Added option PageSize Added option PageRegion Added option Model Added option PrintoutMode Added option InputSlot Added option ImageableArea Added option PaperDimension Added option Duplex Added option Quality Added option Font Parameter Summary ----------------- Spooler: cups Printer: HP8450 Shell: /bin/bash PPD file: /etc/cups/ppd/HP8450.ppd ATTR file: Printer model: HP PhotoSmart 8400 Foomatic/hpijs (recommended) Options: orientation-requested=3 job-uuid=urn:uuid:f0ce4349-7b98-3820-670a-7141941add09 Job title: KDE Print System File(s) to be printed: <STDIN> GhostScript extra search path ('GS_LIB'): /usr/share/cups/fonts Pondering option 'orientation-requested=3' Unknown option orientation-requested=3. Pondering option 'job-uuid=urn:uuid:f0ce4349-7b98-3820-670a-7141941add09' Unknown option job-uuid=urn:uuid:f0ce4349-7b98-3820-670a-7141941add09. ================================================ File: <STDIN> ================================================ Reading PostScript input ... --> This document is DSC-conforming! ----------- Found: %%BeginProlog Found: %%BeginFeature: *PageSize Letter Option: PageSize=Letter --> Setting option Found: %%EndProlog ----------- Found: %%BeginSetup Found: %%BeginFeature: *PrintoutMode Normal Option: PrintoutMode=Normal --> Setting option Found: %% FoomaticRIPOptionSetting: PrintoutMode=Normal Option: PrintoutMode=Normal --> Setting option Found: %%BeginFeature: *InputSlot Default Option: InputSlot=Default --> Setting option Found: %% FoomaticRIPOptionSetting: InputSlot=Default Option: InputSlot=Default --> Setting option Found: %%BeginFeature: *Quality FromPrintoutMode Option: Quality=FromPrintoutMode --> Setting option Found: %% FoomaticRIPOptionSetting: Quality=@PrintoutMode Option: Quality=FromPrintoutMode --> Setting option Found: %%BeginFeature: *PageRegion Letter Option: PageRegion=Letter --> Option will be set by PostScript interpreter Found: %% FoomaticRIPOptionSetting: PageSize=Letter Option: PageSize=Letter --> Setting option Found: %%BeginFeature: *Duplex None Option: Duplex=None --> Setting option Found: %% FoomaticRIPOptionSetting: Duplex=None Option: Duplex=None --> Setting option Found: %%EndSetup Inserting PostScript code for CUPS' page accounting ----------- New page: 1 1 Inserting option code into "PageSetup" section. Found: %%BeginPageSetup Found: %%EndPageSetup End of page header Stopping search for page header options Found: cccc99c3c390bbbb88bbbb88bbbb88bbbb88bbbb88000000000000000000000000000000 --> Output goes directly to the renderer now. Starting renderer JCL: <job data> renderer PID kid4=7090 renderer command: gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -sDEVICE=ijs -sIjsServer=hpijs -sDeviceManufacturer="HEWLETT-PACKARD" -sDeviceModel="deskjet 5600" -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -dDuplex=false -r300 -sIjsParams=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2,PS:MediaPosition=7 -dIjsUseOutputFD -sOutputFile=- - foomatic-gswrapper: /usr/bin/gs '-sstdout=%stderr' '-dBATCH' '-dPARANOIDSAFER' '-dQUIET' '-dNOPAUSE' '-sDEVICE=ijs' '-sIjsServer=hpijs' '-sDeviceManufacturer=HEWLETT-PACKARD' '-sDeviceModel=deskjet 5600' '-dDEVICEWIDTHPOINTS=612' '-dDEVICEHEIGHTPOINTS=792' '-dDuplex=false' '-r300' '-sIjsParams=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2,PS:MediaPosition=7' '-dIjsUseOutputFD' '-sOutputFile=%stdout' '-' Closing renderer PAGE: 1 1 KID3 exited with status 0 tail process done writing data to STDOUT KID4 finished KID4 exited with status 0 Renderer exit stat: 0 KID3 finished Renderer process finished $VAR1 = { 'prologprepend' => [], 'cupspagesetupprepend' => [], 'cmd' => 'gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -sDEVICE=ijs -sIjsServer=hpijs%A%B%C -dIjsUseOutputFD%Z -sOutputFile=- -', 'currentcmd' => 'gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -sDEVICE=ijs -sIjsServer=hpijs -sDeviceManufacturer="HEWLETT-PACKARD" -sDeviceModel="deskjet 5600" -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -dDuplex=false -r300 -sIjsParams=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2,PS:MediaPosition=7 -dIjsUseOutputFD -sOutputFile=- -', 'args' => [ { 'proto' => '%s', 'controlledby' => undef, 'fromcomposite' => undef, 'order' => 0, 'style' => 'G', 'name' => 'ColorSpace', 'default' => undef, 'type' => '' }, { 'proto' => '%s', 'controlledby' => undef, 'fromcomposite' => undef, 'order' => 0, 'style' => 'G', 'name' => 'Resolution', 'default' => undef, 'type' => '' }, { 'userval' => 'Letter', 'section' => 'AnySetup', 'vals' => [ { 'comment' => 'Custom Size', 'value' => 'Custom', 'driverval' => ' -dDEVICEWIDTHPOINTS=0 -dDEVICEHEIGHTPOINTS=0' }, { 'comment' => 'Letter', 'value' => 'Letter', 'driverval' => ' -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792' }, { 'comment' => 'A4', 'value' => 'A4', 'driverval' => ' -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=842' }, { 'comment' => 'Photo or 4x6 inch index card', 'value' => 'Photo', 'driverval' => ' -dDEVICEWIDTHPOINTS=288 -dDEVICEHEIGHTPOINTS=432' }, { 'comment' => 'Photo or 5x7 inch index card', 'value' => 'Photo5x7', 'driverval' => ' -dDEVICEWIDTHPOINTS=360 -dDEVICEHEIGHTPOINTS=504' }, { 'comment' => 'Photo with tear-off tab', 'value' => 'PhotoTearOff', 'driverval' => ' -dDEVICEWIDTHPOINTS=288 -dDEVICEHEIGHTPOINTS=432' }, { 'comment' => '3x5 inch index card', 'value' => '3x5', 'driverval' => ' -dDEVICEWIDTHPOINTS=216 -dDEVICEHEIGHTPOINTS=360' }, { 'comment' => '5x8 inch index card', 'value' => '5x8', 'driverval' => ' -dDEVICEWIDTHPOINTS=360 -dDEVICEHEIGHTPOINTS=576' }, { 'comment' => 'A5', 'value' => 'A5', 'driverval' => ' -dDEVICEWIDTHPOINTS=420 -dDEVICEHEIGHTPOINTS=595' }, { 'comment' => 'A6', 'value' => 'A6', 'driverval' => ' -dDEVICEWIDTHPOINTS=297 -dDEVICEHEIGHTPOINTS=420' }, { 'comment' => 'A6 with tear-off tab', 'value' => 'A6TearOff', 'driverval' => ' -dDEVICEWIDTHPOINTS=297 -dDEVICEHEIGHTPOINTS=420' }, { 'comment' => 'B5 (JIS)', 'value' => 'B5JIS', 'driverval' => ' -dDEVICEWIDTHPOINTS=516 -dDEVICEHEIGHTPOINTS=729' }, { 'comment' => 'CD or DVD 80 mm', 'value' => 'CDDVD80', 'driverval' => ' -dDEVICEWIDTHPOINTS=237 -dDEVICEHEIGHTPOINTS=237' }, { 'comment' => 'CD or DVD 120 mm', 'value' => 'CDDVD120', 'driverval' => ' -dDEVICEWIDTHPOINTS=360 -dDEVICEHEIGHTPOINTS=360' }, { 'comment' => 'Envelope #10', 'value' => 'Env10', 'driverval' => ' -dDEVICEWIDTHPOINTS=297 -dDEVICEHEIGHTPOINTS=684' }, { 'comment' => 'Envelope C5', 'value' => 'EnvC5', 'driverval' => ' -dDEVICEWIDTHPOINTS=459 -dDEVICEHEIGHTPOINTS=649' }, { 'comment' => 'Envelope C6', 'value' => 'EnvC6', 'driverval' => ' -dDEVICEWIDTHPOINTS=323 -dDEVICEHEIGHTPOINTS=459' }, { 'comment' => 'Envelope DL', 'value' => 'EnvDL', 'driverval' => ' -dDEVICEWIDTHPOINTS=312 -dDEVICEHEIGHTPOINTS=624' }, { 'comment' => 'Envelope B5', 'value' => 'EnvISOB5', 'driverval' => ' -dDEVICEWIDTHPOINTS=499 -dDEVICEHEIGHTPOINTS=709' }, { 'comment' => 'Envelope Monarch', 'value' => 'EnvMonarch', 'driverval' => ' -dDEVICEWIDTHPOINTS=279 -dDEVICEHEIGHTPOINTS=540' }, { 'comment' => 'Executive', 'value' => 'Executive', 'driverval' => ' -dDEVICEWIDTHPOINTS=522 -dDEVICEHEIGHTPOINTS=756' }, { 'comment' => 'American Foolscap', 'value' => 'FLSA', 'driverval' => ' -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=936' }, { 'comment' => 'Hagaki', 'value' => 'Hagaki', 'driverval' => ' -dDEVICEWIDTHPOINTS=283 -dDEVICEHEIGHTPOINTS=420' }, { 'comment' => 'Legal', 'value' => 'Legal', 'driverval' => ' -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=1008' }, { 'comment' => 'Oufuku-Hagaki', 'value' => 'Oufuku', 'driverval' => ' -dDEVICEWIDTHPOINTS=420 -dDEVICEHEIGHTPOINTS=567' }, { 'comment' => '16K', 'value' => 'w558h774', 'driverval' => ' -dDEVICEWIDTHPOINTS=558 -dDEVICEHEIGHTPOINTS=774' }, { 'comment' => 'Executive (JIS)', 'value' => 'w612h935', 'driverval' => ' -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=935' } ], 'notfirst' => 1, 'controlledby' => undef, 'fromcomposite' => undef, 'order' => 105, 'vals_byname' => { 'CDDVD120' => {}, 'Letter' => {}, 'EnvC5' => {}, '3x5' => {}, 'Hagaki' => {}, '5x8' => {}, 'A6TearOff' => {}, 'Custom' => {}, 'Env10' => {}, 'EnvMonarch' => {}, 'EnvC6' => {}, 'EnvDL' => {}, 'A6' => {}, 'w612h935' => {}, 'w558h774' => {}, 'A5' => {}, 'Photo5x7' => {}, 'Oufuku' => {}, 'A4' => {}, 'Photo' => {}, 'B5JIS' => {}, 'Executive' => {}, 'CDDVD80' => {}, 'PhotoTearOff' => {}, 'EnvISOB5' => {}, 'Legal' => {}, 'FLSA' => {} }, 'proto' => '%s', 'name' => 'PageSize', 'style' => 'C', 'default' => 'Letter', 'spot' => 'A', 'currentpage' => 'Letter', 'comment' => 'Page Size', 'type' => 'enum', 'header' => 'Letter' }, { 'userval' => 'Letter', 'proto' => '%s', 'style' => 'G', 'name' => 'PageRegion', 'default' => 'Letter', 'section' => 'AnySetup', 'vals' => [ { 'comment' => 'Custom Size', 'value' => 'Custom' }, { 'comment' => 'Letter', 'value' => 'Letter' }, { 'comment' => 'A4', 'value' => 'A4' }, { 'comment' => 'Photo or 4x6 inch index card', 'value' => 'Photo' }, { 'comment' => 'Photo or 5x7 inch index card', 'value' => 'Photo5x7' }, { 'comment' => 'Photo with tear-off tab', 'value' => 'PhotoTearOff' }, { 'comment' => '3x5 inch index card', 'value' => '3x5' }, { 'comment' => '5x8 inch index card', 'value' => '5x8' }, { 'comment' => 'A5', 'value' => 'A5' }, { 'comment' => 'A6', 'value' => 'A6' }, { 'comment' => 'A6 with tear-off tab', 'value' => 'A6TearOff' }, { 'comment' => 'B5 (JIS)', 'value' => 'B5JIS' }, { 'comment' => 'CD or DVD 80 mm', 'value' => 'CDDVD80' }, { 'comment' => 'CD or DVD 120 mm', 'value' => 'CDDVD120' }, { 'comment' => 'Envelope #10', 'value' => 'Env10' }, { 'comment' => 'Envelope C5', 'value' => 'EnvC5' }, { 'comment' => 'Envelope C6', 'value' => 'EnvC6' }, { 'comment' => 'Envelope DL', 'value' => 'EnvDL' }, { 'comment' => 'Envelope B5', 'value' => 'EnvISOB5' }, { 'comment' => 'Envelope Monarch', 'value' => 'EnvMonarch' }, { 'comment' => 'Executive', 'value' => 'Executive' }, { 'comment' => 'American Foolscap', 'value' => 'FLSA' }, { 'comment' => 'Hagaki', 'value' => 'Hagaki' }, { 'comment' => 'Legal', 'value' => 'Legal' }, { 'comment' => 'Oufuku-Hagaki', 'value' => 'Oufuku' }, { 'comment' => '16K', 'value' => 'w558h774' }, { 'comment' => 'Executive (JIS)', 'value' => 'w612h935' } ], 'notfirst' => 1, 'currentpage' => 'Letter', 'comment' => '', 'order' => 105, 'type' => 'enum', 'vals_byname' => { 'CDDVD120' => {}, 'Letter' => {}, 'EnvC5' => {}, '3x5' => {}, 'Hagaki' => {}, '5x8' => {}, 'A6TearOff' => {}, 'Custom' => {}, 'Env10' => {}, 'EnvMonarch' => {}, 'EnvC6' => {}, 'EnvDL' => {}, 'A6' => {}, 'w612h935' => {}, 'w558h774' => {}, 'A5' => {}, 'Photo5x7' => {}, 'Oufuku' => {}, 'A4' => {}, 'Photo' => {}, 'B5JIS' => {}, 'Executive' => {}, 'CDDVD80' => {}, 'PhotoTearOff' => {}, 'EnvISOB5' => {}, 'Legal' => {}, 'FLSA' => {} }, 'header' => 'Letter' }, { 'userval' => 'HP-PhotoSmart_8400', 'proto' => '%s', 'style' => 'C', 'name' => 'Model', 'default' => 'HP-PhotoSmart_8400', 'vals' => [ { 'value' => 'HP-PhotoSmart_8400', 'driverval' => ' -sDeviceManufacturer="HEWLETT-PACKARD" -sDeviceModel="deskjet 5600"' } ], 'spot' => 'A', 'currentpage' => 'HP-PhotoSmart_8400', 'controlledby' => undef, 'fromcomposite' => undef, 'order' => 100, 'type' => 'enum', 'vals_byname' => { 'HP-PhotoSmart_8400' => {} }, 'header' => 'HP-PhotoSmart_8400' }, { 'userval' => 'Normal', 'section' => 'AnySetup', 'vals' => [ { 'comment' => 'Draft (auto-detect paper type)', 'value' => 'Draft', 'driverval' => 'Quality=300FastDraftColorCMYK' }, { 'comment' => 'Draft Grayscale (auto-detect paper type)', 'value' => 'Draft.Gray', 'driverval' => 'Quality=300FastDraftGrayscaleCMYK' }, { 'comment' => 'Normal (auto-detect paper type)', 'value' => 'Normal', 'driverval' => 'Quality=300ColorCMYK' }, { 'comment' => 'Normal Grayscale (auto-detect paper type)', 'value' => 'Normal.Gray', 'driverval' => 'Quality=300GrayscaleCMYK' }, { 'comment' => 'High Quality (auto-detect paper type)', 'value' => 'High', 'driverval' => 'Quality=600ColorCMYK' }, { 'comment' => 'High Quality Grayscale (auto-detect paper type)', 'value' => 'High.Gray', 'driverval' => 'Quality=600GrayscaleCMYK' }, { 'comment' => 'Photo (on photo paper)', 'value' => 'Photo', 'driverval' => 'Quality=1200PhotoCMYKFullBleed' } ], 'notfirst' => 1, 'order' => 10, 'vals_byname' => { 'High.Gray' => {}, 'Normal.Gray' => {}, 'High' => {}, 'Draft.Gray' => {}, 'Photo' => {}, 'Draft' => {}, 'Normal' => {} }, 'proto' => '%s', 'jclsetup' => undef, 'name' => 'PrintoutMode', 'style' => 'X', 'default' => 'Normal', 'spot' => 'B', 'setup' => undef, 'currentpage' => 'Normal', 'comment' => 'Printout Mode', 'type' => 'enum', 'prolog' => undef, 'pagesetup' => undef, 'header' => 'Normal' }, { 'userval' => 'Default', 'section' => 'AnySetup', 'vals' => [ { 'comment' => 'Printer default', 'value' => 'Default', 'driverval' => ',PS:MediaPosition=7' }, { 'comment' => 'Photo Tray', 'value' => 'PhotoTray', 'driverval' => ',PS:MediaPosition=6' }, { 'comment' => 'Upper Tray', 'value' => 'Upper', 'driverval' => ',PS:MediaPosition=1' }, { 'comment' => 'Lower Tray', 'value' => 'Lower', 'driverval' => ',PS:MediaPosition=4' }, { 'comment' => 'CD or DVD Tray', 'value' => 'CDDVDTray', 'driverval' => ',PS:MediaPosition=14' }, { 'comment' => 'Envelope Feeder', 'value' => 'Envelope', 'driverval' => ',PS:MediaPosition=3' }, { 'comment' => 'Large Capacity Tray', 'value' => 'LargeCapacity', 'driverval' => ',PS:MediaPosition=5' }, { 'comment' => 'Manual Feeder', 'value' => 'Manual', 'driverval' => ',PS:MediaPosition=2' }, { 'comment' => 'Multi Purpose Tray', 'value' => 'MPTray', 'driverval' => ',PS:MediaPosition=8' } ], 'notfirst' => 1, 'controlledby' => undef, 'fromcomposite' => undef, 'order' => 100, 'vals_byname' => { 'Default' => {}, 'LargeCapacity' => {}, 'Envelope' => {}, 'CDDVDTray' => {}, 'MPTray' => {}, 'Manual' => {}, 'PhotoTray' => {}, 'Lower' => {}, 'Upper' => {} }, 'proto' => '%s', 'name' => 'InputSlot', 'style' => 'C', 'default' => 'Default', 'spot' => 'C', 'comment' => 'Media Source', 'currentpage' => 'Default', 'type' => 'enum', 'header' => 'Default' }, { 'proto' => '%s', 'controlledby' => undef, 'fromcomposite' => undef, 'order' => 0, 'style' => 'G', 'name' => 'ImageableArea', 'default' => undef, 'type' => '' }, { 'proto' => '%s', 'controlledby' => undef, 'fromcomposite' => undef, 'order' => 0, 'style' => 'G', 'name' => 'PaperDimension', 'default' => undef, 'type' => '' }, { 'userval' => 'None', 'section' => 'AnySetup', 'vals' => [ { 'comment' => 'Long Edge (Standard)', 'value' => 'DuplexNoTumble', 'driverval' => ' -dDuplex=true -dTumble=false' }, { 'comment' => 'Short Edge (Flip)', 'value' => 'DuplexTumble', 'driverval' => ' -dDuplex=true -dTumble=true' }, { 'comment' => 'Off', 'value' => 'None', 'driverval' => ' -dDuplex=false' } ], 'notfirst' => 1, 'controlledby' => undef, 'fromcomposite' => undef, 'order' => 120, 'vals_byname' => { 'None' => {}, 'DuplexTumble' => {}, 'DuplexNoTumble' => {} }, 'proto' => '%s', 'name' => 'Duplex', 'style' => 'C', 'default' => 'None', 'spot' => 'A', 'comment' => 'Double-Sided Printing', 'currentpage' => 'None', 'type' => 'enum', 'header' => 'None' }, { 'userval' => 'FromPrintoutMode', 'section' => 'AnySetup', 'vals' => [ { 'comment' => 'Controlled by \'Printout Mode\'', 'value' => 'FromPrintoutMode' }, { 'comment' => '300 dpi, Color, Black + Color Cartr.', 'value' => '300ColorCMYK', 'driverval' => ' -r300 -sIjsParams=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2' }, { 'comment' => '300 dpi, Color, Full Bleed, Black + Color Cartr.', 'value' => '300ColorCMYKFullBleed', 'driverval' => ' -r300 -sIjsParams=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2,Quality:FullBleed=1' }, { 'comment' => '300 dpi, Draft, Color, Black + Color Cartr.', 'value' => '300DraftColorCMYK', 'driverval' => ' -r300 -sIjsParams=Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2' }, { 'comment' => '300 dpi, Draft, Grayscale, Black + Color Cartr.', 'value' => '300DraftGrayscaleCMYK', 'driverval' => ' -r300 -sIjsParams=Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2' }, { 'comment' => '300 dpi, FastDraft, Color, Black + Color Cartr.', 'value' => '300FastDraftColorCMYK', 'driverval' => ' -r300 -sIjsParams=Quality:Quality=4,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2' }, { 'comment' => '300 dpi, FastDraft, Grayscale, Black + Color Cartr.', 'value' => '300FastDraftGrayscaleCMYK', 'driverval' => ' -r300 -sIjsParams=Quality:Quality=4,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2' }, { 'comment' => '300 dpi, Grayscale, Black + Color Cartr.', 'value' => '300GrayscaleCMYK', 'driverval' => ' -r300 -sIjsParams=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2' }, { 'comment' => '600 dpi, Color, Black + Color Cartr.', 'value' => '600ColorCMYK', 'driverval' => ' -r600 -sIjsParams=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2' }, { 'comment' => '600 dpi, Color, Full Bleed, Black + Color Cartr.', 'value' => '600ColorCMYKFullBleed', 'driverval' => ' -r600 -sIjsParams=Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2,Quality:FullBleed=1' }, { 'comment' => '600 dpi, Grayscale, Black + Color Cartr.', 'value' => '600GrayscaleCMYK', 'driverval' => ' -r600 -sIjsParams=Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2' }, { 'comment' => '1200 dpi, Photo, Black + Color Cartr., Photo Paper', 'value' => '1200PhotoCMYK', 'driverval' => ' -r1200 -sIjsParams=Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenSet=2' }, { 'comment' => '1200 dpi, Photo, Full Bleed, Black + Color Cartr., Photo Paper', 'value' => '1200PhotoCMYKFullBleed', 'driverval' => ' -r1200 -sIjsParams=Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenSet=2,Quality:FullBleed=1' } ], 'notfirst' => 1, 'controlledby' => undef, 'fromcomposite' => undef, 'order' => 100, 'vals_byname' => { '300FastDraftGrayscaleCMYK' => {}, '300ColorCMYKFullBleed' => {}, '600ColorCMYKFullBleed' => {}, '300DraftColorCMYK' => {}, '300FastDraftColorCMYK' => {}, 'FromPrintoutMode' => {}, '1200PhotoCMYKFullBleed' => {}, '1200PhotoCMYK' => {}, '600ColorCMYK' => {}, '600GrayscaleCMYK' => {}, '300ColorCMYK' => {}, '300DraftGrayscaleCMYK' => {}, '300GrayscaleCMYK' => {} }, 'proto' => '%s', 'name' => 'Quality', 'style' => 'C', 'default' => 'FromPrintoutMode', 'spot' => 'B', 'comment' => 'Resolution, Quality, Ink Type, Media Type', 'currentpage' => 'FromPrintoutMode', 'type' => 'enum', 'header' => 'FromPrintoutMode' }, { 'proto' => '%s', 'controlledby' => undef, 'fromcomposite' => undef, 'order' => 0, 'style' => 'G', 'name' => 'Font', 'default' => undef, 'type' => '' } ], 'args_byname' => { 'Duplex' => {}, 'ImageableArea' => {}, 'PaperDimension' => {}, 'ColorSpace' => {}, 'Model' => {}, 'Font' => {}, 'PageSize' => {}, 'Resolution' => {}, 'Quality' => {}, 'PageRegion' => {}, 'PrintoutMode' => {}, 'InputSlot' => {} }, 'cupsfilter' => { 'application/vnd.cups-postscript' => 'foomatic-rip' }, 'setupprepend' => [], 'pagesetupprepend' => [], 'id' => 'HP-PhotoSmart_8400', 'driver' => 'hpijs' }; $VAR1->{'args'}[2]{'vals_byname'}{'CDDVD120'} = $VAR1->{'args'}[2]{'vals'}[13]; $VAR1->{'args'}[2]{'vals_byname'}{'Letter'} = $VAR1->{'args'}[2]{'vals'}[1]; $VAR1->{'args'}[2]{'vals_byname'}{'EnvC5'} = $VAR1->{'args'}[2]{'vals'}[15]; $VAR1->{'args'}[2]{'vals_byname'}{'3x5'} = $VAR1->{'args'}[2]{'vals'}[6]; $VAR1->{'args'}[2]{'vals_byname'}{'Hagaki'} = $VAR1->{'args'}[2]{'vals'}[22]; $VAR1->{'args'}[2]{'vals_byname'}{'5x8'} = $VAR1->{'args'}[2]{'vals'}[7]; $VAR1->{'args'}[2]{'vals_byname'}{'A6TearOff'} = $VAR1->{'args'}[2]{'vals'}[10]; $VAR1->{'args'}[2]{'vals_byname'}{'Custom'} = $VAR1->{'args'}[2]{'vals'}[0]; $VAR1->{'args'}[2]{'vals_byname'}{'Env10'} = $VAR1->{'args'}[2]{'vals'}[14]; $VAR1->{'args'}[2]{'vals_byname'}{'EnvMonarch'} = $VAR1->{'args'}[2]{'vals'}[19]; $VAR1->{'args'}[2]{'vals_byname'}{'EnvC6'} = $VAR1->{'args'}[2]{'vals'}[16]; $VAR1->{'args'}[2]{'vals_byname'}{'EnvDL'} = $VAR1->{'args'}[2]{'vals'}[17]; $VAR1->{'args'}[2]{'vals_byname'}{'A6'} = $VAR1->{'args'}[2]{'vals'}[9]; $VAR1->{'args'}[2]{'vals_byname'}{'w612h935'} = $VAR1->{'args'}[2]{'vals'}[26]; $VAR1->{'args'}[2]{'vals_byname'}{'w558h774'} = $VAR1->{'args'}[2]{'vals'}[25]; $VAR1->{'args'}[2]{'vals_byname'}{'A5'} = $VAR1->{'args'}[2]{'vals'}[8]; $VAR1->{'args'}[2]{'vals_byname'}{'Photo5x7'} = $VAR1->{'args'}[2]{'vals'}[4]; $VAR1->{'args'}[2]{'vals_byname'}{'Oufuku'} = $VAR1->{'args'}[2]{'vals'}[24]; $VAR1->{'args'}[2]{'vals_byname'}{'A4'} = $VAR1->{'args'}[2]{'vals'}[2]; $VAR1->{'args'}[2]{'vals_byname'}{'Photo'} = $VAR1->{'args'}[2]{'vals'}[3]; $VAR1->{'args'}[2]{'vals_byname'}{'B5JIS'} = $VAR1->{'args'}[2]{'vals'}[11]; $VAR1->{'args'}[2]{'vals_byname'}{'Executive'} = $VAR1->{'args'}[2]{'vals'}[20]; $VAR1->{'args'}[2]{'vals_byname'}{'CDDVD80'} = $VAR1->{'args'}[2]{'vals'}[12]; $VAR1->{'args'}[2]{'vals_byname'}{'PhotoTearOff'} = $VAR1->{'args'}[2]{'vals'}[5]; $VAR1->{'args'}[2]{'vals_byname'}{'EnvISOB5'} = $VAR1->{'args'}[2]{'vals'}[18]; $VAR1->{'args'}[2]{'vals_byname'}{'Legal'} = $VAR1->{'args'}[2]{'vals'}[23]; $VAR1->{'args'}[2]{'vals_byname'}{'FLSA'} = $VAR1->{'args'}[2]{'vals'}[21]; $VAR1->{'args'}[3]{'vals_byname'}{'CDDVD120'} = $VAR1->{'args'}[3]{'vals'}[13]; $VAR1->{'args'}[3]{'vals_byname'}{'Letter'} = $VAR1->{'args'}[3]{'vals'}[1]; $VAR1->{'args'}[3]{'vals_byname'}{'EnvC5'} = $VAR1->{'args'}[3]{'vals'}[15]; $VAR1->{'args'}[3]{'vals_byname'}{'3x5'} = $VAR1->{'args'}[3]{'vals'}[6]; $VAR1->{'args'}[3]{'vals_byname'}{'Hagaki'} = $VAR1->{'args'}[3]{'vals'}[22]; $VAR1->{'args'}[3]{'vals_byname'}{'5x8'} = $VAR1->{'args'}[3]{'vals'}[7]; $VAR1->{'args'}[3]{'vals_byname'}{'A6TearOff'} = $VAR1->{'args'}[3]{'vals'}[10]; $VAR1->{'args'}[3]{'vals_byname'}{'Custom'} = $VAR1->{'args'}[3]{'vals'}[0]; $VAR1->{'args'}[3]{'vals_byname'}{'Env10'} = $VAR1->{'args'}[3]{'vals'}[14]; $VAR1->{'args'}[3]{'vals_byname'}{'EnvMonarch'} = $VAR1->{'args'}[3]{'vals'}[19]; $VAR1->{'args'}[3]{'vals_byname'}{'EnvC6'} = $VAR1->{'args'}[3]{'vals'}[16]; $VAR1->{'args'}[3]{'vals_byname'}{'EnvDL'} = $VAR1->{'args'}[3]{'vals'}[17]; $VAR1->{'args'}[3]{'vals_byname'}{'A6'} = $VAR1->{'args'}[3]{'vals'}[9]; $VAR1->{'args'}[3]{'vals_byname'}{'w612h935'} = $VAR1->{'args'}[3]{'vals'}[26]; $VAR1->{'args'}[3]{'vals_byname'}{'w558h774'} = $VAR1->{'args'}[3]{'vals'}[25]; $VAR1->{'args'}[3]{'vals_byname'}{'A5'} = $VAR1->{'args'}[3]{'vals'}[8]; $VAR1->{'args'}[3]{'vals_byname'}{'Photo5x7'} = $VAR1->{'args'}[3]{'vals'}[4]; $VAR1->{'args'}[3]{'vals_byname'}{'Oufuku'} = $VAR1->{'args'}[3]{'vals'}[24]; $VAR1->{'args'}[3]{'vals_byname'}{'A4'} = $VAR1->{'args'}[3]{'vals'}[2]; $VAR1->{'args'}[3]{'vals_byname'}{'Photo'} = $VAR1->{'args'}[3]{'vals'}[3]; $VAR1->{'args'}[3]{'vals_byname'}{'B5JIS'} = $VAR1->{'args'}[3]{'vals'}[11]; $VAR1->{'args'}[3]{'vals_byname'}{'Executive'} = $VAR1->{'args'}[3]{'vals'}[20]; $VAR1->{'args'}[3]{'vals_byname'}{'CDDVD80'} = $VAR1->{'args'}[3]{'vals'}[12]; $VAR1->{'args'}[3]{'vals_byname'}{'PhotoTearOff'} = $VAR1->{'args'}[3]{'vals'}[5]; $VAR1->{'args'}[3]{'vals_byname'}{'EnvISOB5'} = $VAR1->{'args'}[3]{'vals'}[18]; $VAR1->{'args'}[3]{'vals_byname'}{'Legal'} = $VAR1->{'args'}[3]{'vals'}[23]; $VAR1->{'args'}[3]{'vals_byname'}{'FLSA'} = $VAR1->{'args'}[3]{'vals'}[21]; $VAR1->{'args'}[4]{'vals_byname'}{'HP-PhotoSmart_8400'} = $VAR1->{'args'}[4]{'vals'}[0]; $VAR1->{'args'}[5]{'vals_byname'}{'High.Gray'} = $VAR1->{'args'}[5]{'vals'}[5]; $VAR1->{'args'}[5]{'vals_byname'}{'Normal.Gray'} = $VAR1->{'args'}[5]{'vals'}[3]; $VAR1->{'args'}[5]{'vals_byname'}{'High'} = $VAR1->{'args'}[5]{'vals'}[4]; $VAR1->{'args'}[5]{'vals_byname'}{'Draft.Gray'} = $VAR1->{'args'}[5]{'vals'}[1]; $VAR1->{'args'}[5]{'vals_byname'}{'Photo'} = $VAR1->{'args'}[5]{'vals'}[6]; $VAR1->{'args'}[5]{'vals_byname'}{'Draft'} = $VAR1->{'args'}[5]{'vals'}[0]; $VAR1->{'args'}[5]{'vals_byname'}{'Normal'} = $VAR1->{'args'}[5]{'vals'}[2]; $VAR1->{'args'}[6]{'vals_byname'}{'Default'} = $VAR1->{'args'}[6]{'vals'}[0]; $VAR1->{'args'}[6]{'vals_byname'}{'LargeCapacity'} = $VAR1->{'args'}[6]{'vals'}[6]; $VAR1->{'args'}[6]{'vals_byname'}{'Envelope'} = $VAR1->{'args'}[6]{'vals'}[5]; $VAR1->{'args'}[6]{'vals_byname'}{'CDDVDTray'} = $VAR1->{'args'}[6]{'vals'}[4]; $VAR1->{'args'}[6]{'vals_byname'}{'MPTray'} = $VAR1->{'args'}[6]{'vals'}[8]; $VAR1->{'args'}[6]{'vals_byname'}{'Manual'} = $VAR1->{'args'}[6]{'vals'}[7]; $VAR1->{'args'}[6]{'vals_byname'}{'PhotoTray'} = $VAR1->{'args'}[6]{'vals'}[1]; $VAR1->{'args'}[6]{'vals_byname'}{'Lower'} = $VAR1->{'args'}[6]{'vals'}[3]; $VAR1->{'args'}[6]{'vals_byname'}{'Upper'} = $VAR1->{'args'}[6]{'vals'}[2]; $VAR1->{'args'}[9]{'vals_byname'}{'None'} = $VAR1->{'args'}[9]{'vals'}[2]; $VAR1->{'args'}[9]{'vals_byname'}{'DuplexTumble'} = $VAR1->{'args'}[9]{'vals'}[1]; $VAR1->{'args'}[9]{'vals_byname'}{'DuplexNoTumble'} = $VAR1->{'args'}[9]{'vals'}[0]; $VAR1->{'args'}[10]{'vals_byname'}{'300FastDraftGrayscaleCMYK'} = $VAR1->{'args'}[10]{'vals'}[6]; $VAR1->{'args'}[10]{'vals_byname'}{'300ColorCMYKFullBleed'} = $VAR1->{'args'}[10]{'vals'}[2]; $VAR1->{'args'}[10]{'vals_byname'}{'600ColorCMYKFullBleed'} = $VAR1->{'args'}[10]{'vals'}[9]; $VAR1->{'args'}[10]{'vals_byname'}{'300DraftColorCMYK'} = $VAR1->{'args'}[10]{'vals'}[3]; $VAR1->{'args'}[10]{'vals_byname'}{'300FastDraftColorCMYK'} = $VAR1->{'args'}[10]{'vals'}[5]; $VAR1->{'args'}[10]{'vals_byname'}{'FromPrintoutMode'} = $VAR1->{'args'}[10]{'vals'}[0]; $VAR1->{'args'}[10]{'vals_byname'}{'1200PhotoCMYKFullBleed'} = $VAR1->{'args'}[10]{'vals'}[12]; $VAR1->{'args'}[10]{'vals_byname'}{'1200PhotoCMYK'} = $VAR1->{'args'}[10]{'vals'}[11]; $VAR1->{'args'}[10]{'vals_byname'}{'600ColorCMYK'} = $VAR1->{'args'}[10]{'vals'}[8]; $VAR1->{'args'}[10]{'vals_byname'}{'600GrayscaleCMYK'} = $VAR1->{'args'}[10]{'vals'}[10]; $VAR1->{'args'}[10]{'vals_byname'}{'300ColorCMYK'} = $VAR1->{'args'}[10]{'vals'}[1]; $VAR1->{'args'}[10]{'vals_byname'}{'300DraftGrayscaleCMYK'} = $VAR1->{'args'}[10]{'vals'}[4]; $VAR1->{'args'}[10]{'vals_byname'}{'300GrayscaleCMYK'} = $VAR1->{'args'}[10]{'vals'}[7]; $VAR1->{'args_byname'}{'Duplex'} = $VAR1->{'args'}[9]; $VAR1->{'args_byname'}{'ImageableArea'} = $VAR1->{'args'}[7]; $VAR1->{'args_byname'}{'PaperDimension'} = $VAR1->{'args'}[8]; $VAR1->{'args_byname'}{'ColorSpace'} = $VAR1->{'args'}[0]; $VAR1->{'args_byname'}{'Model'} = $VAR1->{'args'}[4]; $VAR1->{'args_byname'}{'Font'} = $VAR1->{'args'}[11]; $VAR1->{'args_byname'}{'PageSize'} = $VAR1->{'args'}[2]; $VAR1->{'args_byname'}{'Resolution'} = $VAR1->{'args'}[1]; $VAR1->{'args_byname'}{'Quality'} = $VAR1->{'args'}[10]; $VAR1->{'args_byname'}{'PageRegion'} = $VAR1->{'args'}[3]; $VAR1->{'args_byname'}{'PrintoutMode'} = $VAR1->{'args'}[5]; $VAR1->{'args_byname'}{'InputSlot'} = $VAR1->{'args'}[6]; Closing foomatic-rip.