Recently I was asked to address a problem where remote users wanted to be able to print from a legacy Unix/Pick system that normally uses IP based printers. The remote users connecting to the office using a client side VPN solution didn’t have access to a IP based Printer at home and needed another solution to get their printouts. Management also didn’t want to spend a ton of money on the solution. Working with the Unix team I came up with the solution to deploy a Microsoft Windows based PDF printer solution using PDFCreator (http://www.pdfforge.org/pdfcreator). PDFCreator allows you to setup multiple printers that can be pre-configured to print PDFs to a specific file share that you as an admin can then manage share/file permission as normal. Another benefit, you can configure these PDFs to be encrypted and have a password on them. You can also manage if the PDFs can be printed or copied etc.
We ended up deploying this on its own file and print server and then mapping the users computers to their own individual share. Then on the unix side we instructed them to print to a printer that was pointed back to a PDF printer set to print to their share. Each user has their own PDF password as well to insure if they print to the wrong printer/share someone else couldn’t open their files.
Then I setup a simple windows script to wipe files contained in the shares older than 7 days.
There are a few catches which are not well covered in documentation which I outline below:
Here is a diagram sort of outlining what I’m talking about
The 1st Catch you need to setup PDFCreator to run as a service. A good how to can be found over on this blog here. In short:
- Install the Server 2003 resource kit (link).
- Create the service with SC:sc create pdfcreator start= auto binPath= “C:\Program Files\oldResourceKitTools\srvany.exe” DisplayName= “PDFCreator”Note the space between the equals sign and the value; it actually needs to be done that way, or SC won’t work.
- Check that that worked:sc query pdfcreator
- Mangle the service appropriately to actually run the server version of PDFCreator:Start the service and test it out – a file sent to the PDFCreator printer on the server should now pop out in whichever directory you specified back in step 1, regardless of whether or not anyone’s logged in at the server’s console.
- Edit the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pdfcreator.
- Add a “Parameters” key.
- Inside the newly-created key, add a REG_SZ value called “Application”, with the path to the PDFCreator executable as the data.
- Start the service and test it out – a file sent to the PDFCreator printer on the server should now pop out in whichever directory you specified back in step 1, regardless of whether or not anyone’s logged in at the server’s console.
The next Catch, how to set a password on a individual PDF printer, again you have to edit the registry
So for example if you setup a printer and call it prITTEST (Used in my Example) You would need to edit the key found at HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PDFCreator\Profiles\prITTEST\Printing\Formats\PDF\Security
Then set the PDFOwnerPasswordString and PDFUserPasswordString with a password. You also need to enable security by setting PDFOwnerPass, PDFUserPass, and PDFUseSecurity to 1.
One last thing of note, when installing PDFCreator, the ESET AV solution we use in the office reported the program containing a virus. That said I tested the .exe using several other products and I think this is a false positive. Likely flagging the Windows Tool bar it wants to install as spam-ware.