Bug 540995

Summary: Fails to print duplex with HPLIP queue
Product: [Fedora] Fedora Reporter: Tim Waugh <twaugh>
Component: openoffice.orgAssignee: Caolan McNamara <caolanm>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: caolanm, dtardon
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-11-25 11:54:17 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tim Waugh 2009-11-24 16:56:54 UTC
Description of problem:
OpenOffice.org writer fails to print duplex output to a queue using the hpcups driver from HPLIP when asked to.

Version-Release number of selected component (if applicable):
openoffice.org-writer-3.1.1-19.14.fc12.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Install hpijs
2.Create a queue for (e.g.) an HP DeskJet 990C using the hpcups driver:
i. System->Administration->Printing
ii. New
iii. Select anything, e.g. LPT #1 for the device
iv. Select HP as the manufacturer
v. Select DeskJet 990C as the model
vi. Make sure 'HP Deskjet 990C, hpcups 3.9.8' is selected as the driver.
vii. Click to enable 'Duplexer installed'
viii. Give queue a name and apply.

3.In OpenOffice.org-writer create a two-page document and select File->Print...
4.Select the queue.
5.Click Properties
6.For 'Paper size' change the size so that it contains 'AutoDuplex', e.g. A4 AutoDuplex or Letter AutoDuplex
7.For 'Duplex' select 'Long Edge (Standard)'.
8.Click OK
9.Click OK to print it

Actual results:
The job is sent with 'Duplex=None' and 'PageSize=A4' options set.

Expected results:
Should be sent with 'Duplex=DuplexNoTumble' and 'PageSize=A4Duplex' options set.

Additional info:
Saving to a PDF and printing equivalently from evince works fine.

The hpcups driver has a rather weird set of PPD constraints in order to have better advance knowledge of the exact paper margins in use when duplexing, and this means that you cannot duplex on "normal" page sizes.  The OO print dialog is reflecting this correctly, but the final settings when OK is clicked are not the ones used when the print job is sent.

Comment 1 David Tardon 2009-11-25 06:24:13 UTC
dtardon->caolanm: This is likely to be changed by printerpullpages, isn't it?

Comment 2 Caolan McNamara 2009-11-25 11:54:17 UTC
The reason is that the "page size" in the printer options is overridden by the paper size used in writer, i.e. A4/Letter which can't be duplexed. 

In e.g. Math it should work as Math has no page style overrides.

To get this to work in writer (for e.g. en_US) you'd have to change format->page width to 8.5"x10.875" to match the paper size of Letter.Duplex instead of the true 8.5x11 Letter size, then it should be ok.

If (when) we move to (version 2) of the gtk print dialog post printerpullpages we might have a chance here, but I'm still a bit dubious, e.g. right now I see that in gedit the gtk print dialog doesn't offer two-sided printing with any of the paper options, even the autoduplex ones.

This is frankly a bit weird, I don't see that there's a fix in OOo.

Comment 3 Tim Waugh 2009-11-25 18:03:39 UTC
Why is the "page size" option widget sensitive at all if it's just going to be over-ridden?

For the equivalent gedit failure I've filed bug #538133.

Comment 4 Caolan McNamara 2009-11-25 20:32:21 UTC
Yeah, the printer dialog is a bit cock-eyed, especially those tempting but eventually disappointing ppd-options settings. The mysterious "printerpullpages" stuff we're talking about involves printer dialog changes that should improve these things and give us a basis to do things right