GNOME Bugzilla – Bug 520598
Manual duplex printing support
Last modified: 2014-03-02 18:07:21 UTC
Evince (and others) needs the ability to perform manual duplexing for people who want to save paper when printing. All that is required is adding an option to print odd only or even only pages. It is a very simple feature to write and could add a lot of functionality. This is not good enough (odd/even pages). You should add "Manual Duplex" as a option. First, print odd pages (1,3,5). Then you popup a dialog "put the pages back into the printer". Then, you logically (but not physically) ROTATE 180 degrees and print even pages IN REVERSE ORDER (6,4,2). Like Windows/XP does. For example from a print driver (and no GUI, which is why I want this, and so do my users)... http://foo2zjs.rkkda.com/ File foo2xqx.c if (Duplex == DMDUPLEX_MANUALLONG && (PageNum & 1) == 0) rotate_bytes_180(buf, buf + bpl * h - 1, Mirror4); if ((PageNum & 1) == 0 && EvenPages) { SeekRec[SeekIndex].b = ftell(EvenPages); cmyk_page(buf, w, h, EvenPages); SeekRec[SeekIndex].e = ftell(EvenPages); debug(1, "CMYK Page: %d %ld %ld\n", PageNum, SeekRec[SeekIndex].b, SeekRec[SeekIndex].e); SeekIndex++; } else cmyk_page(buf, w, h, ofp); and: if (EvenPages) { DWORD pause; // Handle odd page count if ( (PageNum & 1) == 1) { SeekRec[SeekIndex].b = ftell(EvenPages); blank_page(EvenPages); SeekRec[SeekIndex].e = ftell(EvenPages); debug(1, "Blank Page: %d %ld %ld\n", PageNum, SeekRec[SeekIndex].b, SeekRec[SeekIndex].e); SeekIndex++; } /* * Manual Pause */ // Write even pages in reverse order for (i = SeekIndex-1; i >= 0; --i) { debug(1, "EvenPage: %d %ld %ld %ld\n", i, SeekRec[i].b, SeekRec[i].e, SeekRec[i].pause); fseek(EvenPages, SeekRec[i].pause, 0L); if (i == SeekIndex-1) pause = be32(2); else pause = be32(3); fwrite(&pause, 1, sizeof(DWORD), EvenPages); fseek(EvenPages, SeekRec[i].b, 0L); for (j = 0; j < (SeekRec[i].e - SeekRec[i].b); ++j) putc(getc(EvenPages), stdout); } fclose(EvenPages);
We need manual duplex. If it is an easy task, it should be done
Gnome Manual Duplex: https://sourceforge.net/projects/g-manual-duplex/ Install: $ make $ su # make install -OR- $ sudo make install Then using the GUI: 1) System -> Gnome Manual Duplex -OR- 2) Add to Panel -> Gnome Manual Duplex applet -> Add Print -> GnomeManualDuplex (Virtual Printer) -> Print
https://git.gnome.org/browse/archive/gnome-print/ https://git.gnome.org/browse/archive/libgnomeprint/ https://git.gnome.org/browse/archive/libgnomeprintui/ have been archived in Git. They are not under active development anymore. It is currently unlikely that there will be any further active development. Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this bug report in the future if anyone takes the responsibility for active development again.