6 June 2009

Say goodbye to 64-bit printing problems!So, let’s say you’ve taken the plunge and installed 64-bit Windows XP, Vista, or Windows 7. All is going well, until you try to install your printers.

It’s at that point that you discover that Windows doesn’t have a 64-bit driver for your printer. Worse yet, the manufacturer may not provide one, either!

What the heck are you supposed to do now?

Fortunately, there IS a way. And, strangely enough, you have Mac OS X to thank for this solution!

There is one teensy little detail that is kind of important: this solution will not allow you to print to a printer attached directly to your 64-bit Windows computer. You will need to have another machine on your local network that acts as a print server. This machine can be an old laptop, desktop, or whatever. The print server computer should be running Windows XP. This is mainly due to the RedMon utility, which only works on XP at this point. A new version that also works on Vista and Windows 7 should be available in the coming months.

Alrighty. The first step is to go load this lovely web page:

How to Use a Printer Attached to a Windows XP Computer in Mac OS X

Read through it once, starting at “Step 1: A Working Printer“. Yeah, like right now.

I’ll wait…

Now that you’ve read through it, you can heave a sigh of relief – you can ignore everything after Step #3. This is because you aren’t printing from a Unix-based Mac; you’re printing from Windows! On the other hand, if you want to print from a Mac too, that’s how to do it. I’ve done it before, and it works like a charm.

As for what you actually need to do for your 64-bit Windows, the short version is that you are going to set up Ghostscript, GSview, and the Redmon utility on your XP print server. The download link for Redmon is notoriously crappy, so if it’s not working, just search for “redmon” and you’ll find the small download from plenty of other places. Then, you’re going to find a printer driver for a PostScript printer on both your 64-bit Windows machine and a matching driver on the XP print server computer. And then you’re going to configure everything such that you can print from your 64-bit Windows to the Ghostscript printer on the XP print server. The XP print server will then work its ghostly magic and seamlessly redirect the print job to your actual printer.

Okeydokey, so let’s get started.

I’m actually using the 64-bit Windows 7 RC, but these instructions should be pretty similar for Vista 64.

The first thing to do is to find a printer driver that is on both your XP computer and your x64 computer. In my case, Windows 7 has a lovely 64-bit driver for the “HP Color Laserjet 2800 Series PS”. On the XP box, I used the “HP Color Laserjet PS” driver. The two seem to work just fine for printing monochrome, color, etc. The reason you need matching drivers is because your 64-bit machine needs a driver to use for the networked printer, and the XP print server itself needs to be able to understand the directions from that driver as well. Both drivers should be of the PS – or PostScript – variety.

So, follow the instructions at the OS X -> Windows printing link.

When it comes time to select a printer driver, choose: HP Color Laserjet PS (or whatever driver you choose)

Once the “Ghostscript printer” is set up, try to print a test page. If it works, sing and dance! If it doesn’t, check the “Configure Port” properties for RPT1. You may need to include “-copies 1“, remove “-color“, or possibly add in some other commands. You can find more options for gsprint here: GSPRINT help

Some options you might want to consider are:

  • -grey for greyscale printing
  • -portrait for portrait page layout
  • -landscape for landscape page layout
  • -duplex_vertical for double-sided printing

Once you get the test page print working from your XP machine, right-click your Ghostscript printer and pick “Properties”. Click the Sharing tab and share the printer so your 64-bit machine can see it on the network. You’re now done on the XP machine.

Move back over to your Vista/7 machine and add a printer. If you try to just add the printer normally, it won’t work. Instead, do the following:

  • Select "Add a local printer"
  • Select "Create new port"
  • Select "Type of port: Local port"
  • In the little popup window, type the network path to your XP printer following this example: \\printserver\64bit Canon
  • Next pick the appropriate printer driver. I chose: HP Color Laserjet 2800 Series PS
  • Give the printer a nice name

When you’re done, you should have an “emulated printer” sitting on your 64-bit Windows machine that you can print to. Try printing a test page from within Vista/7 this time. If it works, you’re done! If not, you may need to pick a different printer driver combo, or play around with GSview commands a bit.

Note that because of the little ghosties doing their thing on the XP box, printing will take a couple of seconds longer than usual.

I’ve read that Vista 64 is outselling the 32-bit version. Microsoft also expects the 64-bit version of Windows 7 to be pretty darn popular. Don’t miss my post The 3GB Barrier: Why you want a 64-bit OS. At that point, I’m sure a lot of printer manufacturers will get on the ball and release some 64-bit drivers – I’m looking at you, Canon!!!

In the meantime, this little trick will get you back up and printing. It’s not quite as good as having a real 64-bit driver and all its fully functional options, but for basic printing needs, it rocks!

In any case, it’s better than nothing.

Windows x64: How to Print to Any Printer Even Without a 64-bit Driver
Tagged on:         

14 thoughts on “Windows x64: How to Print to Any Printer Even Without a 64-bit Driver

  • 8 November 2009 at 22:01
    Permalink

    Thank you very much, you solved one of my biggest problems with W7 64bit.
    It worked almost perfect, just two notes:
    1. I could not make alive the ghostscript printer, until I set option Print directly to printer.
    2. the last step (emulated printer on W7) I could not make run. Finally I just noticed I see it in my shared printers and tried to print test page directly – and it worked!

    Reply
  • 4 January 2010 at 01:49
    Permalink

    Thank you very much! My biggest problem by the 64bit Windows7 is solved now! My EPSON EPL-5900L is working through the XP virtual machine.

    Reply
  • 23 March 2010 at 00:21
    Permalink

    Thanks for bringing this all together for us! With your help, and about 90 minutes of time reading and setting all this up, I was able to print from my new Windows 7 laptop to my trusty HP LaserJet 1000 that’s attached to my Windows 2000 system. 🙂 You might want to clarify that we do not need to follow the steps after Step #3 (not #4, as you mentioned) in the “OS X -> Windows printing” link you provided. That is, we don’t need to install the Unix Print Services, since we’ll be printing via Windows Printer Sharing. Thanks again for this helpful post!

    Reply
  • 3 April 2010 at 14:07
    Permalink

    I have been searching for a way to use my HP LaserJet 1000 printer for a number of months with no luck, until I found your link through Google. I set up Ghostscript, GSview, and the Redmon utility on XP my Computer. Then followed the instructions on the link you directed me to, http://iharder.sourceforge.net/current/macosx/winmacprinter/ Following the directions on that link I then selected an HP LaserJet 2100 Series PS from HP Website Drivers. Installed that printer on my XP Computer following those instructions from the link you provided. Then on my Windows 7 64 bit system I just simply browsed my Network for that HP LaserJet 2100 Series PS. Right clicked on it, and hit connect, windows searched for the Driver, installed same, and I was printing right away. Thanks for you information!

    Reply
  • 2 November 2010 at 04:09
    Permalink

    Dude – you are a freakin’ Genius!

    Reply
  • 14 January 2011 at 05:25
    Permalink

    This worked well for my Windows 7 64 bit machine and an HP Laserjet 1000 on the network attached to a Windows XP machine. Thank you for sharing this.

    Reply
  • Pingback: Sharing a Printer with Post Script

  • Pingback: Robert Harder » Share a Windows Printer with a Mac

  • 30 March 2012 at 14:11
    Permalink

    Great workaround!!!
    I was stuck with the problem for quite a while until I found your post!
    Thanks a lot!!!

    Reply
  • 16 October 2012 at 15:30
    Permalink

    Awesome post, man. I was able to get a laser jet 2300 PS on 64-bit 7 system talk to a 2100 PS on XP. Thought I was going to have to buy a new printer.

    Reply
  • 13 December 2012 at 03:07
    Permalink

    Sounds like a way to make things work.

    Now, if someone could convince HP to produce a driver for Windows 7 Pro x64 that will utilize ALL of the features of the Business Inkjet 2800 printer – specifically: assign trays, print on 11×17 paper, duplex printing, and all the other features of the printer. The generic driver in Win 7 only prints from tray 1 on 8.5 x 11 paper single-sided.

    I will have to maintain an older Win XP PC on my network to use this printer for tasks other than 8.5×11 printing.

    WAKE UP HP!! YOU ARE ALIENATING THOSE OF USE WHO OWN YOUR PRODUCTS. NEXT TIME AROUND I WILL NOT BE BUYING HP!

    Reply
  • 20 January 2015 at 08:32
    Permalink

    Thank you so much for the solution! It worked perfectly with the additional settings in the ghostscript printer on Win7 Pro 64 bit with a Win XP print server!

    Reply
  • 28 July 2016 at 17:20
    Permalink

    Thank you so much! This worked with my Windows 10 64 bit printing through an old Windows XP netbook printing to an HP Laserjet 1000. I have spent HOURS on this. The driver I ended up using was Generic MS Publisher Imagesetter.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *