Bug 60037

Summary: JJ: "duplex printing wizard" for simplex printer
Product: [Unmaintained] kdelibs Reporter: Simon Perreault <perrea02>
Component: print-dialogAssignee: KDEPrint Devel Mailinglist <kde-print-devel>
Status: RESOLVED UPSTREAM    
Severity: wishlist CC: aacid, andre, charlyghislain, dennis.jansen, esigra, jlayt, kde-2011.08, mh, p.h.i.x
Priority: NOR Keywords: junior-jobs
Version: unspecified   
Target Milestone: ---   
Platform: RedHat Enterprise Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Simon Perreault 2003-06-19 04:46:32 UTC
Version:            (using KDE KDE 3.1)
Installed from:    RedHat RPMs

It would be cool if there was an easy way to do duplex printing on simplex printers. Most commercial Windows drivers implement a procedure like this:

1) User selects duplex printing.
2) Printer prints one side.
3) User is asked to rotate paper and put it back in the printer.
4) Printer prints on other side of paper.

This may sound simple, but there are LOTS of thing to take into consideration:

- Does the printer print in backward or forward order? That is, does the first sheet printed end up on the top or the bottom of the stack? If the printer prints backward, like most cheap inkjet printers, then the first side is printed with the "reverse" checkbox unchecked and the other side is printed with the "reverse" checkbox checked. If the printer prints forward, the contrary needs to be done.

- Does the printer output paper facing the other way it was inputted? If so, then the printed stack must be flipped over by the user before it is inserted for the second run.

- Does the printer rotate paper around the axis normal to the sheet? If so, then the inverse rotation must be performed by the user on the stack before it is inserted for the second run.

- If there are more odd pages than even ones, then special care must be taken if the printer prints in backward order. The last page printed in the first run will need to be removed from the top of the stack before the rest is inserted for the second run. If n copies are printed and they are not collated, then n pages will need to be removed by the user. If they are collated, then the user is in trouble because he has to go and fetch every nth page from the bottom and remove it.

Is it feasible? I suppose so, since it's been available in Windows for many years. However, it's vendor-specific so they know a lot of answers to the questions asked above. However, the user could easily answer those questions when printing duplex for the first time.

Also, there could be "race conditions". If the user prints the first side and re-inserts the stack and then someone else sends a printing command, everything goes wrong. Although less dramatic, it would not work well if someone else sends a print command after the first side printing command has been sent and before the stack is re-inserted. This is why a warning should be printed saying that this maneuver should only be attempted with a personal printer. If there is a locking mechanism in CUPS (is there one?) then this problem is nonexistant.

How could it be done? I haven't worked with kdeprint before, but I could give it a shot with enough information.
Comment 1 Simon Perreault 2003-06-19 04:48:03 UTC
When I said: "Does the printer output paper facing the other way it was inputted? If 
so, then the printed stack must be flipped over by the user before it is inserted for the 
second run.", I actually meant the contrary. 
Comment 2 Michael Goffioul 2003-08-01 12:14:58 UTC
*** Bug 61951 has been marked as a duplicate of this bug. ***
Comment 3 A T Somers 2003-08-01 12:49:53 UTC
Maybe the use of a wizard to figure out the way a specific printer operates would be 
in order. You could for instance instruct the user to mark two pages with a 1 and a 2 
in the upper left corner, and insert them into the printer. Now print some sample 
data, and ask the user how the data appeared on the page: is the printed text on the 
same side as the markings? Are the markings facing the right way up? Is page 1 or 
page 2 on top? Etc. This information could be used to determine the optimal printing 
order as well as instruct the user how to re-insert the paper.  
Comment 4 Andrea Aime 2004-06-13 23:04:19 UTC
Now, this would be really great, I too have a simplex printer and to save paper I have to manually think about how to perform the printing in order to fake duplex printing... it would be very nice if it was the computer to do so...
Comment 5 Iñaki Baz Castillo 2005-05-04 14:19:38 UTC
To print in both sides I have to do it manually:

- First I print odd pages with "inverse" option checked, so I get pages 5,3,1.
- After that, I take the printed pages, change the orientation and put into the printer.
- Then I print even pages with "inverse" option NOT checked, so I get pages 2,4,6.
- I take all the pages and they are in right order. OK :)


I think it would be grater if kdeprinter allows it in easy and automatic way. It would be like the following:

- Include an option in kdeprinter to print in both sides in a simple printer.
- Check this option and press "Print" buttom.
- First of all, it print the odd pages in inverse mode (5,3,1).
- And show in the screen a message with a text like this: "When the odd pages are printed take the pages, change the orientation and put into the printer, and press "Continue" buttom" (maybe a explaining picture).
- So, after that, kdeprint sends a NEW and independent job to the printer, and this job is the even pages without the inverse mode (2,4,6).

In this way, I think it is not necessary to lock CUPS during all the job, and it would be easy to print in remote printers with many users.

Anyway, I suppose that there are more things to take into consideration.
 

Comment 6 John Pye 2005-06-08 10:43:12 UTC
I've been able to use KDEPrint to do this already, using the filters configuration. It's not as easy as it could be but it works. I'll vote for this... hoping can be made a bit more intuitive.

FYI 'FinePrint' on Windows adds this feature using something that works at something akin to the 'preview' stage given by KDEPrint. There is a simple 'duplex' checkbox, with some settings available next to it via a popup. The settings just read something like

[x] Printer flips pages over
[x] Printer feeds pages via the short side
[x] Printouts come out face down

So it is simple to set up the double-sided logic on the basis of readily observed things about your printer. Of course, these things should be part of the printer specification, KDEPrint shouldn't need to ask, right?

JP
Comment 7 clcevboxvjeo 2005-11-02 14:08:34 UTC
Please, add this option so I don't need to do this manually everytime. My steps to print to both pages of paper are:

1) reverse order, print odd pages
2) taking papers from printer output and putting them again in the printer
3) non-reverse order, print even pages
4) now I have everything printed, I only need to take the papers out and rotate the bunch of papers 180°. They are already sorted in the correct order.

Go step-by-step through this and imagine the procedure. It should result in the same result everytime, so why don't you automatize it? After printing the odd pages, just display a dialog that one should put the papers back and wait for his/her confirmation to continue printing the even pages.
Comment 8 Iñaki Baz Castillo 2005-11-02 15:00:28 UTC
|| 1) reverse order, print odd pages
|| 2) taking papers from printer output and putting them again in the printer
|| 3) non-reverse order, print even pages
|| 4) now I have everything printed, I only need to take the papers out and
|| rotate the bunch of papers 180°. They are already sorted in the correct
|| order.

Acrobat Reader in Windows version does this exactly, and it works fine and 
it's an easy way to print duplex.
Comment 9 Thiago Macieira 2005-12-22 19:41:46 UTC
*** Bug 118868 has been marked as a duplicate of this bug. ***
Comment 10 Sebastián Benítez 2006-04-27 05:19:37 UTC
I voted for this. It would be a great addition to kdeprint. Almost nobody owns a duplex printer (for home use) and there are time when you need to print forms double sided. I've came to this situation (damn government agencies).
Comment 11 Chris Hausen 2006-10-02 15:31:57 UTC
This is a very useful option for daily printing tasks. In order to even save more paper, I very often print 2 or 4 pages on one sheet. The above described  manual workaround, printing first odd then the even pages, will fail, i.e. you would have pages 1 & 3 on the front side and 2 & 4 on the back side of the paper.

Therefore please take into account that multiple pages per side should be possible. A preview-mode, similar to Fineprint, showing the selected options and their results would be very helpful.

My current workaround is, to print 2 or more pages per side to a pseudo-printer using the command kpdf %in and then do the manual even-odd way.
Comment 12 Kurt Pfeifle 2007-01-13 04:20:31 UTC
I think this is a "Junior Job" (that could even be implemented via Kommander as a "Duplex Printing Wizard")....
Comment 13 Dennis Jansen 2008-08-14 18:39:40 UTC
This is a great idea! I have a duplex printer but I know how it is not to have one... And this really makes much more sense than a duplex unit.
Comment 14 Matthias Heinz 2009-04-26 20:00:04 UTC
I'd love to see this, too.
Comment 15 charly ghislain 2009-06-08 12:42:19 UTC
Of course this applies to kde4, we can't even choose (odd/even) pages for now ; and we can't either enter pages numbers manually (we have to choose 1 continuous range).
Comment 16 Dotan Cohen 2009-06-13 09:08:35 UTC
> Maybe the use of a wizard to figure out the way a specific printer
> operates would be  in order. You could for instance instruct the user
> to mark two pages with a 1 and a 2  in the upper left corner, and insert
> them into the printer.

The best way would be to have the wizard print two pages, have the user reinsert them, then print another two pages. Ask the user which orientation he got on the second print, compared to the first.
Comment 17 Dotan Cohen 2009-06-13 09:13:45 UTC
> Of course this applies to kde4, we can't even choose (odd/even) pages
> for now ; and we can't either enter pages numbers manually (we have to
> choose 1 continuous range).

https://bugs.kde.org/show_bug.cgi?id=171925
Comment 18 Matthias Heinz 2009-06-13 10:15:06 UTC
I totally agree with Bryan Cebuliak. The Qt printer dialog will never fit all kde users needs, it would be way better if kde would use its own (and maybe with the focus that it can be ported back to pure Qt)
Comment 19 Matthias Heinz 2009-06-13 10:19:20 UTC
addition for the duplex printing dialog:


Sometimes it makes sense to rotate the even pages about 180 degrees. This makes sense for real duplex printers, too. Because if you print 2 pages per sheet in book style (psbook) your printout on the other side would be upside down.

This could be implemented here directly or in a seperate function.
Comment 20 Dotan Cohen 2009-06-13 11:19:54 UTC
@Matthias:
You might want to comment on bug #196303 which requests for KDE to add it's own print dialogue instead of relying on the Q printt dialogue:
https://bugs.kde.org/show_bug.cgi?id=196303
Comment 21 Albert Astals Cid 2018-12-16 21:59:38 UTC
Closing since we don't have our print dialog anymore. Implement this in Qt one.