Hp Manual Duplex Mac

Active28 days ago

Windows: The HP Software Installer CD installs the HP PCL.6, HP PCL 6, or HP PCL-6 driver depending on the Windows operating system along with optional software when using the full software installer. Mac computers and OS X: Mac computers and Apple mobile devices are supported with this printer.

My printers don't support automatic duplex printing. I'm looking for a solution for my Mac and Linux computers that I've seen with most Windows printer drivers:

  • Check 'Manual duplex' in the printer screen
  • Printer starts printing one side
  • A dialog appears, asking me to flip the pages
  • Printer prints the other side.

One thing I can do, is print odd pages, then reopen the dialog and print even pages, but this is very inconvenient, especially when I only want to print a certain page range of the document as the Mac dialog forgets my previous page range every time. It gets even more inconvenient, when printing 2-up double sided, or when changing additional settings for this one printout.

Is there maybe some tool, that can do this? Or maybe a 'virtual printer driver' that can sit somewhere between the dialog and the actual printer driver, which manages these steps? (The Windows tool http://en.wikipedia.org/wiki/FinePrint can do something like that, but I don't need all of its features, and I need it on Mac/Linux.)

Or does somebody maybe know a trick, how to make the print dialog stay open, i.e. 'Print, but don't close'?

Update

It doesn't seem, as if a tool like that exists yet. How hard would it be to implement something like that? Where would it need to be integrated - as a CUPS printer driver, or as a hook for the print action of the dialog? Could it work cross-platform, or would it have to be Mac/Linux-specific?

Can somebody with experience in Mac/Linux/driver programming shed a light on this?

Solution

The current solution:

Create an Apple Automator script:

Action: Extract Odd & Even Pages [All pages in separate files]

Action: Run Shell Script [Pass input as arguments]

Action: Ask for Confirmation ['Please flip the pages']

Action: Run Shell Script [Pass input as arguments]

It's not perfect yet. Suggestions for improvements and alternatives are very welcome!

Arjan
27.4k11 gold badges66 silver badges107 bronze badges
Chris LercherChris Lercher

9 Answers

ALMOST, but no cigar yet: the 4th step only gets the odd pages from the 1st step, and then takes the even pages from that set... That's no good. I will delete this some time later, unless I think of something smart. (The 1st step can also be made to create two files right away, but you need the confirmation dialog. Maybe there's some 'restart' or parallel processing in Automator.

For a Mac, Automator is your friend:

  • Open Automator

  • Select 'Print Plugin' (Print plugins are workflows that are available in the print dialog. They accept PDF versions of the document being printed. Prior to 10.6 Snow Leopard, you might not get this choice until you're about to save your workflow, rather than when creating an empty workflow. Should work the same.)

  • Drag the following items into the workflow to the right:

    1. 'Extract Odd & Even Pages', and select 'Odd'

    2. 'Print Finder Items'

    3. 'Ask for confirmation', write some instructions

    4. 'Extract Odd & Even Pages', and select 'Even'

    5. 'Print Finder Items'

  • Save it. It will end up in ~/Library/PDF Services/ and hence be part of the PDF menu in the Print dialog.


Automator to the rescue


PDF menu in Print dialog

When the total of pages is odd, you'll have to fiddle a bit with the first or last page of the first run. (If you'd put the whole stack back into the printer, then the last page might be left in the paper tray when you're done. Just try and adjust the instructions in step 3.)

karel
9,86111 gold badges35 silver badges41 bronze badges
ArjanArjan
27.4k11 gold badges66 silver badges107 bronze badges

There's a project on sourceforge called duplexpr that may do what you want.

I wrote it a long time ago and couldn't generate any interest in it so I have not updated it. If I can get an active user base of > 0, or someone interested in helping to develop or test it, I'll work on it again. I even have newer development code that has a few additional features. I'm also playing around with making it gui-enabled so it can be used from the desktop without going to the command line.

It's a set of bash scripts that emulate duplex printing for non-duplex printers. I've used it every day - for many years now.

One unique feature is that it allows batch two-sided printing so you can print several jobs at once and you only have to flip and reinsert the whole stack of paper once instead of once for each job.

The current version (on sourceforge) has a few problems. The first is that they changed bash. To get the current scripts to work (after you download them), the first line of each script has to be changed from #!/bin/sh to #!/bin/bash

The other problem is a design issue. Printers vary in how they handle paper. Some put out pages with the printed side face-up and some with the printed side face-down, etc. This means that there has to be more than one duplex printing algorithm. duplexpr currently supports only one algorithm. It works perfectly on printers like the HP Deskjet 720 and 895 (old) and the HP C4480 (newer). It almost works on my HP Laserjets (1006 and 1020). On these, all the pages it prints are correct and in the correct order, but each page needs to be flipped over manually after the job has finished printing (they come out 2/1, 4/3 ... instead of 1/2, 3/4).

Check it out and get back to me if you are interested in using it. You can send me email via the sourceforge project page (url above).

A few more thoughts:

duplexpr doesn't really address printing ranges of pages. You can do that by using the 'print to file' and 'page range' options available in most application print dialogs.

Once you have the output in a file (in the default (at least for Linux) postscript format), you have a number of options. You can then run it through duplexpr (which, by the way, handles the odd number of pages problem mentioned by other posters).

If you can handle using the command line interface (cli), then the lp command - or lpr, whichever you have installed, has options you can specify for odd pages only, even pages only and you can even give it page ranges if necessary. If that's not to your liking, there's an amazing little gui utility called xpp that will do all that and more. It will even let you create an alias for one of your existing printers that will print only even or odd pages. I use it all the time to recover from paper jams and multiple page feeds during the second pass of duplex printing (the second sides) so I can finish printing any one-sided pages didn't get trashed without starting from scratch.

With any of these manual methods, if you have an odd number of pages, you can just send a formfeed to the printer to eject the last page:

echo -n $'f' | lp

will do it or you can create a file with just a formfeed in it and send it to lp. This works on every printer I have tried so far.

Either way, it's a lot easier than remembering not to reinsert the last page, etc.

HTH

Joe

JoeJoe
slhck
170k48 gold badges473 silver badges490 bronze badges
LoBLoB

In the 'virtual printer driver' vein, you might try printing to Postscript or PDF from your application. This would especially help when printing a certain range or a complicated 2-up pagination.

The general idea is, 'print' from the application with the settings you want (page ranges, pages-per-sheet, etc), but send the output to PS/PDF. Then use your OS's standard PS/PDF printing facility to handle the actual duplexing.

Mac

Alternately, run two print jobs from the application. Set the first to generate a PS/PDF of your up-facing pages, and the second to generate a second PS/PDF of your down-facing pages. Then the duplexing is already done, and all you need to do is print the first file, flip the pages and put them back in the printer tray, then print the second file.

It's certainly not the prettiest or most convenient method, but it should be doable by tweaking your workflow -- no additional software required. (I believe on OSX the print-to-PDF capability is built-in; it's fairly simple to configure on Linux if it isn't available out-of-the-box on your distribution.)


Gnome Manual Duplex is your friend. GUI'ified, Virtual Printer, CUPS compatible...

Rick RichardsonRick Richardson

Based on the comments here, and on other forums, I've made some kind of a merged solution, merging the functions of Automator and Shell Scripts. As I've seen, such solution have not yet been posted, so this might come handy.

The only package you have to get is pdftk server, which can be downloaded from pdftk's official website. By installing pdftk server you only install a single package that gives you the ability to edit PDF files with shell scripts. Let me quote some text from the official website, about pdftk server:

After installation, open a Terminal, type pdftk and press Return. Pdftk will respond by displaying brief usage information. Access pdftk documenation by running man pdftk.

This installer creates a directory on you Mac: /opt/pdflabs/pdftk/. This will contain a bin directory which holds the pdftk program and a docs directory which holds the complete PDFtk manual.

With pdftk, we will be able to extract the odd & even pages of a pdf (which is very fast, compared to Automator's built in extractor), reorder and rotate pages. Reordering and rotating comes handy based on the printer you are using: you don't have to reorder the pages manually between printing odd and even pages. FYI: In my example, I've used a Samsung ML-2165W printer (in case you want to understand the flow of a paper within the printer).

The base comes from Arjan's top answer:

  • Open Automator
  • Select 'Print Plugin'(As Arjan wrote before: '... print plugins accept PDF versions of the document being printed ...' which means that the first item's (you drag to the workflow) input will be that PDF)
  • Drag the following items:

    1. Set Value of Variable. From the dropdown menu select Path.
    2. Run Shell Script: this is the part, where we're implementing pdftk.

      Explanation: sourcing the .bash_profile is necessary, because elsehow pdftk command won't be accessable. The while cycle is wrote based on pdftk's man page: all you have to know is that it extracts the odd pages of the input pdf into odd.pdf, which will be put in /tmp. After odd.pdf is generated, we will print it with default settings, using lpr shell command.

    3. Ask for confirmation: Put in some instruction text. IMPORTANT: when using this workflow, you have to wait until the printing process of the odd pages are completed, then put the pages back into the input tray, and THEN you can press ok. Elsehow, the upcoming shell script (which also includes printing obviously) will be executed before you can put the papers back.

    4. Get Value of Variable. Set Variable to Path. This is the tricky part: from options dropdown menu, select Ignore this actions's input. This give you back the original PDF's path, so you won't extract the just extracted odd pages further (which was a problem within comments above).

    5. Run Shell Script: printing the even pages (in backwards order, as well as in rotated orientation).

      Explanation: After extracting the even pages from the source PDF file, using the end-1 parameter with pdftk gives us a backward PDF. The rotating will be made using lpr command's parameters (I've tried to rotate it with pdftk, which went smoothly, but somewhy using lpr command with initial parameters rotated that pdf back, I guess because of the printer's settings). -o orientation-requested=6 gives us a 180 degree rotation (for more, see man lpr).

This screenshot summarizes the whole workflow.

borosdenesborosdenes

First, open your printer and find the icon that indicates how to load letterhead paper. If it's loaded face up, then use this script:

Otherwise, use this script:

Jim Van ZandtJim Van Zandt

Jim Van Zandt in the post above has the key trick here - print the even pages first. This gets rid of the fiddle with the last page being blank.

Just using printer presets for your normal printer driver (yes you open the print dialogue twice but probably this can be applied in the automator scripts described earlier):

duplex-even-1:

  • Paper Handling -> Pages to Print: Even Only
  • Paper Handling -> Page Order: Reverse
  • Layout -> check box for Reverse page orientation

duplex-odd-2:

  • Paper Handling -> Pages to Print: Odd Only

Print with the duplex-even-1 preset first, shift the paper from the output to the feeder, and print with the duplex-odd-2 preset.

Happy to learn if there is some automator sequence to specify a printer and a print preset for the output?

robmrobm

HP Two-sided printing software. I just used it, it works easily and perfectly. Of course, you need an HP printer which I have.

fkennafkenna

Not the answer you're looking for? Browse other questions tagged linuxmacosprintercupsduplex or ask your own question.

Active28 days ago

My printers don't support automatic duplex printing. I'm looking for a solution for my Mac and Linux computers that I've seen with most Windows printer drivers:

  • Check 'Manual duplex' in the printer screen
  • Printer starts printing one side
  • A dialog appears, asking me to flip the pages
  • Printer prints the other side.

One thing I can do, is print odd pages, then reopen the dialog and print even pages, but this is very inconvenient, especially when I only want to print a certain page range of the document as the Mac dialog forgets my previous page range every time. It gets even more inconvenient, when printing 2-up double sided, or when changing additional settings for this one printout.

Is there maybe some tool, that can do this? Or maybe a 'virtual printer driver' that can sit somewhere between the dialog and the actual printer driver, which manages these steps? (The Windows tool http://en.wikipedia.org/wiki/FinePrint can do something like that, but I don't need all of its features, and I need it on Mac/Linux.)

Or does somebody maybe know a trick, how to make the print dialog stay open, i.e. 'Print, but don't close'?

Update

It doesn't seem, as if a tool like that exists yet. How hard would it be to implement something like that? Where would it need to be integrated - as a CUPS printer driver, or as a hook for the print action of the dialog? Could it work cross-platform, or would it have to be Mac/Linux-specific?

Can somebody with experience in Mac/Linux/driver programming shed a light on this?

Solution

The current solution:

Create an Apple Automator script:

Action: Extract Odd & Even Pages [All pages in separate files]

Action: Run Shell Script [Pass input as arguments]

Action: Ask for Confirmation ['Please flip the pages']

Action: Run Shell Script [Pass input as arguments]

It's not perfect yet. Suggestions for improvements and alternatives are very welcome!

Arjan
27.4k11 gold badges66 silver badges107 bronze badges
Chris LercherChris Lercher

9 Answers

ALMOST, but no cigar yet: the 4th step only gets the odd pages from the 1st step, and then takes the even pages from that set... That's no good. I will delete this some time later, unless I think of something smart. (The 1st step can also be made to create two files right away, but you need the confirmation dialog. Maybe there's some 'restart' or parallel processing in Automator.

For a Mac, Automator is your friend:

  • Open Automator

  • Select 'Print Plugin' (Print plugins are workflows that are available in the print dialog. They accept PDF versions of the document being printed. Prior to 10.6 Snow Leopard, you might not get this choice until you're about to save your workflow, rather than when creating an empty workflow. Should work the same.)

  • Drag the following items into the workflow to the right:

    1. 'Extract Odd & Even Pages', and select 'Odd'

    2. 'Print Finder Items'

    3. 'Ask for confirmation', write some instructions

    4. 'Extract Odd & Even Pages', and select 'Even'

    5. 'Print Finder Items'

  • Save it. It will end up in ~/Library/PDF Services/ and hence be part of the PDF menu in the Print dialog.


Automator to the rescue


PDF menu in Print dialog

When the total of pages is odd, you'll have to fiddle a bit with the first or last page of the first run. (If you'd put the whole stack back into the printer, then the last page might be left in the paper tray when you're done. Just try and adjust the instructions in step 3.)

karel
9,86111 gold badges35 silver badges41 bronze badges
ArjanArjan
27.4k11 gold badges66 silver badges107 bronze badges

There's a project on sourceforge called duplexpr that may do what you want.

Hp Manual Duplex Macbook Pro

I wrote it a long time ago and couldn't generate any interest in it so I have not updated it. If I can get an active user base of > 0, or someone interested in helping to develop or test it, I'll work on it again. I even have newer development code that has a few additional features. I'm also playing around with making it gui-enabled so it can be used from the desktop without going to the command line.

Hp Manual Duplex Machine

It's a set of bash scripts that emulate duplex printing for non-duplex printers. I've used it every day - for many years now.

One unique feature is that it allows batch two-sided printing so you can print several jobs at once and you only have to flip and reinsert the whole stack of paper once instead of once for each job.

The current version (on sourceforge) has a few problems. The first is that they changed bash. To get the current scripts to work (after you download them), the first line of each script has to be changed from #!/bin/sh to #!/bin/bash

Mac

The other problem is a design issue. Printers vary in how they handle paper. Some put out pages with the printed side face-up and some with the printed side face-down, etc. This means that there has to be more than one duplex printing algorithm. duplexpr currently supports only one algorithm. It works perfectly on printers like the HP Deskjet 720 and 895 (old) and the HP C4480 (newer). It almost works on my HP Laserjets (1006 and 1020). On these, all the pages it prints are correct and in the correct order, but each page needs to be flipped over manually after the job has finished printing (they come out 2/1, 4/3 ... instead of 1/2, 3/4).

Check it out and get back to me if you are interested in using it. You can send me email via the sourceforge project page (url above).

A few more thoughts:

Hp Manual Duplex Mac 10

duplexpr doesn't really address printing ranges of pages. You can do that by using the 'print to file' and 'page range' options available in most application print dialogs.

Once you have the output in a file (in the default (at least for Linux) postscript format), you have a number of options. You can then run it through duplexpr (which, by the way, handles the odd number of pages problem mentioned by other posters).

If you can handle using the command line interface (cli), then the lp command - or lpr, whichever you have installed, has options you can specify for odd pages only, even pages only and you can even give it page ranges if necessary. If that's not to your liking, there's an amazing little gui utility called xpp that will do all that and more. It will even let you create an alias for one of your existing printers that will print only even or odd pages. I use it all the time to recover from paper jams and multiple page feeds during the second pass of duplex printing (the second sides) so I can finish printing any one-sided pages didn't get trashed without starting from scratch.

With any of these manual methods, if you have an odd number of pages, you can just send a formfeed to the printer to eject the last page:

echo -n $'f' | lp

will do it or you can create a file with just a formfeed in it and send it to lp. This works on every printer I have tried so far.

Either way, it's a lot easier than remembering not to reinsert the last page, etc.

HTH

Joe

JoeJoe

Hp Manual Duplex Mac And Cheese

slhck
170k48 gold badges473 silver badges490 bronze badges
LoBLoB

In the 'virtual printer driver' vein, you might try printing to Postscript or PDF from your application. This would especially help when printing a certain range or a complicated 2-up pagination.

The general idea is, 'print' from the application with the settings you want (page ranges, pages-per-sheet, etc), but send the output to PS/PDF. Then use your OS's standard PS/PDF printing facility to handle the actual duplexing.

Alternately, run two print jobs from the application. Set the first to generate a PS/PDF of your up-facing pages, and the second to generate a second PS/PDF of your down-facing pages. Then the duplexing is already done, and all you need to do is print the first file, flip the pages and put them back in the printer tray, then print the second file.

It's certainly not the prettiest or most convenient method, but it should be doable by tweaking your workflow -- no additional software required. (I believe on OSX the print-to-PDF capability is built-in; it's fairly simple to configure on Linux if it isn't available out-of-the-box on your distribution.)


Gnome Manual Duplex is your friend. GUI'ified, Virtual Printer, CUPS compatible...

Rick RichardsonRick Richardson

Based on the comments here, and on other forums, I've made some kind of a merged solution, merging the functions of Automator and Shell Scripts. As I've seen, such solution have not yet been posted, so this might come handy.

The only package you have to get is pdftk server, which can be downloaded from pdftk's official website. By installing pdftk server you only install a single package that gives you the ability to edit PDF files with shell scripts. Let me quote some text from the official website, about pdftk server:

After installation, open a Terminal, type pdftk and press Return. Pdftk will respond by displaying brief usage information. Access pdftk documenation by running man pdftk.

This installer creates a directory on you Mac: /opt/pdflabs/pdftk/. This will contain a bin directory which holds the pdftk program and a docs directory which holds the complete PDFtk manual.

With pdftk, we will be able to extract the odd & even pages of a pdf (which is very fast, compared to Automator's built in extractor), reorder and rotate pages. Reordering and rotating comes handy based on the printer you are using: you don't have to reorder the pages manually between printing odd and even pages. FYI: In my example, I've used a Samsung ML-2165W printer (in case you want to understand the flow of a paper within the printer).

The base comes from Arjan's top answer:

  • Open Automator
  • Select 'Print Plugin'(As Arjan wrote before: '... print plugins accept PDF versions of the document being printed ...' which means that the first item's (you drag to the workflow) input will be that PDF)
  • Drag the following items:

    1. Set Value of Variable. From the dropdown menu select Path.
    2. Run Shell Script: this is the part, where we're implementing pdftk.

      Explanation: sourcing the .bash_profile is necessary, because elsehow pdftk command won't be accessable. The while cycle is wrote based on pdftk's man page: all you have to know is that it extracts the odd pages of the input pdf into odd.pdf, which will be put in /tmp. After odd.pdf is generated, we will print it with default settings, using lpr shell command.

    3. Ask for confirmation: Put in some instruction text. IMPORTANT: when using this workflow, you have to wait until the printing process of the odd pages are completed, then put the pages back into the input tray, and THEN you can press ok. Elsehow, the upcoming shell script (which also includes printing obviously) will be executed before you can put the papers back.

    4. Get Value of Variable. Set Variable to Path. This is the tricky part: from options dropdown menu, select Ignore this actions's input. This give you back the original PDF's path, so you won't extract the just extracted odd pages further (which was a problem within comments above).

    5. Run Shell Script: printing the even pages (in backwards order, as well as in rotated orientation).

      Explanation: After extracting the even pages from the source PDF file, using the end-1 parameter with pdftk gives us a backward PDF. The rotating will be made using lpr command's parameters (I've tried to rotate it with pdftk, which went smoothly, but somewhy using lpr command with initial parameters rotated that pdf back, I guess because of the printer's settings). -o orientation-requested=6 gives us a 180 degree rotation (for more, see man lpr).

This screenshot summarizes the whole workflow.

borosdenesborosdenes

First, open your printer and find the icon that indicates how to load letterhead paper. If it's loaded face up, then use this script:

Otherwise, use this script:

Jim Van ZandtJim Van Zandt

Jim Van Zandt in the post above has the key trick here - print the even pages first. This gets rid of the fiddle with the last page being blank.

Just using printer presets for your normal printer driver (yes you open the print dialogue twice but probably this can be applied in the automator scripts described earlier):

duplex-even-1:

  • Paper Handling -> Pages to Print: Even Only
  • Paper Handling -> Page Order: Reverse
  • Layout -> check box for Reverse page orientation

duplex-odd-2:

  • Paper Handling -> Pages to Print: Odd Only

Print with the duplex-even-1 preset first, shift the paper from the output to the feeder, and print with the duplex-odd-2 preset.

Happy to learn if there is some automator sequence to specify a printer and a print preset for the output?

robmrobm

HP Two-sided printing software. I just used it, it works easily and perfectly. Of course, you need an HP printer which I have.

fkennafkenna

Hp Manual Duplex Mac Free

Not the answer you're looking for? Browse other questions tagged linuxmacosprintercupsduplex or ask your own question.