Mailinglist Archive: opensuse-amd64 (29 mails)

< Previous Next >
Re: [opensuse-amd64] Printing woes under 10.2
  • From: Constantine 'Gus' Fantanas <fantanas@xxxxxxxxxxxx>
  • Date: Sat, 14 Apr 2007 01:10:31 -0400
  • Message-id: <46206247.6020204@xxxxxxxxxxxx>
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.
< Previous Next >
Follow Ups