Print from Mac OSX, iPhone or iPad to any Windows printer (even GDI printers, and Windows 7)
I have a Canon MF 5750 printer that has worked very well for the last 5 years, however as I have gradually moved onto Mac OSX and iPhones and iPads, I have not been able to use it as a printer at all, and it has been gathering dust.
Canon never created a MacOSX driver for the printer so, and the printer is a GDI printer (so only ever designed to work with Windows XP, Vista and now Windows 7.
The good news is that through going to many sites, following others, I have patched together a way to get it working on Mac OSX, Airprint and also on Windows 7, where a number of people say it is only possible on Win XP.
Anyway what do you need (or rather what did I use):
1. A Mac running (OSX 10.6.7) - not sure if it works on other versions - you will have to try (at your own risk)
2. A windows 7 x64 machine (or Parallels 6 with a win 7 x64 virtual machine)
3. A windows only printer - in my case it was the Canon MF5750.
4. Some open source software - Ghostscript, GhostView, Redmon x64, and
5. About 30 mins I expect, although it took me considerably longer with trial and error.
NOTE: before you start, if you are not running x64 Windows 7, then this may work with x32 Windows 7, I have no idea. So to have a go, simply download the x32 (non x64) versions of all the software below, and the rest should be the same.
Step 1: Find your first legend, and sort of follow the instructions:
The first excellent person out there exists at this site - I gather his name is Henrik (I will call this Henrik's site from now on) : http://www.stat.tamu.edu/~henrik/GSPSprinter/GSPSprinter.html
He explains the method of making setting up a virtual postscript printer that your Macintosh can talk to, instead of the physical windows only printer that you actually have. The trick lies in the fact that you get you Mac to print to the Virtual Postscript printer, which talks to some excellent Ghostscript software, that then forwards it to your Windows printer, and out it comes.
The only downside with his instructions is that you cannot use everything he suggests, you have to download alternative options.
A. First of all on your Win 7 x64 machine, download Ghostscript 9.02 from: gs902w64.exe. Note if it doesn't exist here, then get the latest from http://www.ghostscript.com/.
When you install Ghostscript, make sure that you install it in c:\gs, rather than the default of c:\Program Files\gs. The reason, is that it makes it a lot easier when you need to put in locations of the programs, if there is not any spaces in the path. If you do not understand what I mean, don't worry, just run the downloaded file above, and when it asks where to install it, use c:\gs.
B. Second, download GSView from the legends at Ghostgum software - or at least Russell Lang. You can go to this page to get it http://pages.cs.wisc.edu/~ghost/gsview/index.htm.
Follow the links to the latest version, and download it, and install it for windows. I used this version (win x64) version gsv49w64.exe
You do not need to do anything special with this install, just make sure that Ghostscript is already installed, cause GhostView uses it.
C. Download a crucial tool called Redmon which enables you to create a virtual printing port which hold s the whole solution together. This is where a lot of people thinks that the solution falls apart, however it seems that the issue is a security issue more than anything else. It works like a charm for me.
So download Redmon 17 x64. I got the files from http://www.winimage.com/misc/redmon/ or the direct link is redmon17x64.zip.
IMPORTANT: When you install this in Win 7, you need to unzip this file to c:\gs\redmon on your harddrive, and then you need to right-click on the setup file, and select "run as administrator". This lets it install correctly.
D: Download a printer driver that will work with Mac OSX and also install on your Win 7 machine. Well, I used HP drivers for HP Color LaserJet 4550 Printer. You need to download the x64 Win 7 Postscript drivers. The one that I used was at : This HP Link. Once you have downloaded this, install it, using the instructions from Henrik's site (the link is above). You will sort of do this, when you are doing the Create a Virtual Postscript Printer section. You cannot do exactly what he says because he is doing it on a Win XP machine, and you have a Win 7 machine.
So now you have installed all the software, all you need to do it follow Henrik's instructions with a couple of changes that I will describe below:
Henrik's instruction (amended for Win 7 x64)
1. Download Required Packages: You did this above, download mine not his, if you are using Win 7 x64
2. Install Ghostscript, Redmon and GSView: You should have done that above as well.
4. Create the Virtual Postscript Printer: Add the Virtual PS printer (or you may have already done this when you downloaded the HP 4550 PS printer driver and installed it. All you may need to do it update the port that is used. i.e. you need to use the RedMon created Redirected Port, called RPT1. Note: in Win 7, you only put in RPT1, not RPT1: like in Henrik's instructions.
5. Create the Ghostscript options file: So you need to make a few changes as suggested by Henrik, based on where your Ghostscript is installed. So my Ghostscript options file ( c:\gs\mswinpr2.txt) looked like the below, if you download and install in the locations, I have suggested above.
I live in Australia, so my default papersize is A4, not Letter. Similarly, in the 9.02 version of Ghostscript, there is not the need for a c:\gs\fonts path required, compared to Henrik's version.
6. Configure the RPT1 Port: This section is completely different to Henrik - so follow me, not him for Windows 7 x64 at least. Thanks to Adam Reed's Blog, and whomever Michael is for this tip.
a) You need to click on Start in Windows 7, then put this in the search box:
%systemroot%\system32\printmanagement.msc
When you do that, the following will popup:
Click on the triangle next to Print Servers, then the name of your computer, and then click on Ports. You should have something like the below:
Then select the RPT1: port, right mouse click and select Configure. Now you should be able to configure the details like Henrik's blog. I have copied mine below:
I would use the spool\gsprinter setting rather than the name of the printer, as this worked, and the other way did not.
Finally you need to edit the registry. This is the most dangerous bit for most of you. I am not even going to tell you how to do this, cause if Henrik's explanation is not enough, you probably should not be in the registry at all. If you stuff up the registry in the wrong way, your Win 7 computer will stop working. You are on your own... at your own risk.
7. Print a Test Page - pretty self explanatory.
So I hope that you can print a test page in the Virtual PS printer, and out comes a printout on your windows only printer. If you do not, do not be discouraged, it took me about 2 hours at this stage, so I will tell you my troubleshooting tips.
a) Check that you can still do a test print from the copy of the Windows printer that you made... the one that you put a PS at the end of the name, above. If you cannot print here, then there is something wrong with this setup, and you need to get that working. Try turning off the computer, printer etc. and get that part working.
b) If the Windows only PS named printer prints, then see if you can get GSView to print a PDF document to this printer. This is where you start GSView, open a PDF in it, and see if you can print a page. If this does not work, then you will get an error - maybe, Ghostscript is not installed correctly, or you installed GSView before you installed Ghostscript.
c) If a) and b) works, then try to print a test page from the Virtual PS printer again. You can go into the RPT1: properties above again, and turn a log file on, so that you can see what is going on...
Have a look at the log, and see if you can see any errors that make sense. If you try to print, and no log is created, when you turn on Use Log file and Debug above, then it means that the RPT1: port is not getting anything from the Virtual PS printer, so maybe the port it is printing on is not the RPT1 port - go back to Henrik's instructions and fix it.
If you are getting a log file, although nothing comes out the printer, then either the config above is wrong, or your config text file is incorrect. Go back to Henrik and fix it.
After that I cannot help you, sorry, you need to find someone that can help you do it.
8. So I am now going to assume that you can do a test print from the Virtual PS printer successfully, well done, you are nearly there, you just need to get Windows's to share printers, and also get you Mac to talk to the printer.
So at this point you need to:
- Turn on Print Sharing: In Win 7, go to Start> Devices and Printers, right mouse click on your Virtual PS Printer, and select Printer Properties. Once in there, select Sharing. Check the Share this Printer, and give it a name.
If you see the link just above the Share this printer box, that talks about Network and Sharing Center. Click on this, and make sure that you have Printer Sharing turned on. Click on Choose homegroup and sharing options, and then make sure that you have turned off usernames and passwords for print sharing (or turned them on, and know what it should be).
- Now you need to turn on Windows 7 LPD services, so that your Mac and print to it, without having to go through Homegroup security issues, like I had for an hour or so..... Go to start>control panel, and Programs, and then Turn Windows features on or off.
Select Print and Document Services, and then check the box next to LPD Print Service.
Click ok, and you are done for windows. Now onto your Mac...
9. On you Mac, you need to add a printer. Click on System Preferences. Then Print & Fax, and then add a printer, by clicking on the + sign.... Select IP, and then Line Printer Daemon - LPD, and then in the address field put in the name of your windows computer that has the Windows printer and Virtual PS printer on it. and then the Queue name is the VirtualPSPrinter share name that you just created. Then you can name it something, and in the Print Using, I would just us the Generic PostScript Printer driver.
You should be done. If you have permission issues, have a look a the following:
Link1 or search for the error you are getting.
Now you should be able to print from your Mac to your Windows GDI (Windows only) printer.
Hope this helped you, and thanks for all the people that put most of this together like Henrik, and the Ghostscript and Redmon writers.



Comments
Post a Comment