Sharing the PDF Writer on a Network
Originally the PDF Writer was not designed to be shared on a network.
The setup program can be highly customized and fully automated.
This makes it easy to roll out the software in a network environment.
However, as the number of request grew we decided to make it possible to
create a shared PDF printer with the bioPDF PDF Writer.
This document was made to help you set it up as a shared printer.
It is a working document and what you find here is not officially
supported but it might be what you are looking for.
It is still a bit technical to set it up as a shared printer and the
operation is also limited to a fixed set of printer settings.
When running as a shared printer the users are not prompted for
file names or other settings. Everything must be set up
using the global.ini settings file.
Step by Step
Let's try to look at how the printer can be set up for sharing.
- Run the setup as you normally would. This installs a virtual PDF printer named "PDF Writer - bioPDF".
- Share the printer as you would do with any other printer. We will not cover normal printer
sharing in this small guide. When the printer is shared the network users can connect to and start
printing. The problem here is that the PDF creation will try to run in the user context of
the user that created the print job. Sometimes that user does not have a user profile on the
machine that shares the printer. Impersonation of the printing user must be turned off for the
PDF creation process to work. The following steps will show you how this is done.
- Impersonation of the printing user is turned off by adding a value in the registry.
Browse to the key belonging to the printer
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\PDF Writer - bioPDF
and add a string value named Disable Impersonation. Set the value
of this setting to 1.
- When impersonation is disabled the printer will run in the user context of the
spooler service. That is normally a local service account.
It is recommended that you override the values for the special folders used in the
PDF creation process. Doing so requires some additional registry settings.
"Application Data"="C:\PDF Writer\Application Data"
"Common Application Data"="C:\PDF Writer\Common Application Data"
"Local Application Data"="C:\PDF Writer\Local Application Data"
"LogFolder"="C:\PDF Writer\Log"
"TempFolder"="C:\PDF Writer\Temp"
- Create the folders you specified in the registry above.
- Create a global.ini file in the folder
C:\PDF Writer\Common Application Data\PDF Writer\PDF Writer - bioPDF
- For this example you can put the following content in the global.ini file.
[PDF Printer]
Output=C:\PDF Writer\Output\<docusername>\<date> <time> <title>.pdf
ShowPDF=no
ShowSettings=never
ShowSaveAs=never
ConfirmOverwrite=no
ShowProgress=no
ShowProgressFinished=no
Adding date and time to the document name helps avoid that documents are overwritten.
The <docusername> macro is the name of the user, who sent the print job to the spooler.
This is typically the network user name of the printing user.
On a domain this could be used to separate the documents in folders where only the creating
user has access to pick up the document.
-
By default the installation of the printer only installed the driver that
matches the processor architecture of machine where the installation took place.
This means that if you installed on a 64 bit system then the only driver
installed is the 64 bit version.
When a printer is shared you should choose a printer driver that will run
on most current platforms. We have found that the HP Universal Postscript
driver is suitable and runs on Windows XP and above.
You can download a Sample.zip that contains some files
that will help you update the registry and create the folders of this example.
That's it!
|