Sharing a PDF printer on a network
Sharing a PDF printer on a network
php)
Sharing the PDF Writer on a Network
Before you start sharing a PDF printer on the network there are some considerations to make. This guide will try to show you how to do it and
what you should consider.
The printer can be installed in two different ways. Either as a normal installation where you run the setup on all the computers where the
program should be used or as a shared network printer where you only run the installation on the print server.
When you install the full program on the user's desktop or on a Terminal Server, RDP, or in a Citrix environment, the user will have access to all
the features of the program. When they print to PDF, they can see the dialog where all the PDF settings can be made.
Alternatively, if the user connects to a shared PDF printer, there will be no additional dialogs. All the settings for the PDF creation are predefined
on the server. The resulting PDF document will be placed in a folder on the print server.
You can use a version 4 printer driver if your printer server is running Windows 8, 8.1 or Windows Server 2012. The consumers must run
Windows Vista or later.
Installation
Stating with version 10.5 of the PDF printer it is relatively easy to share the printer. The installation program was added a new /SHARE command
line switch (..\..\setup_command_line_switches.php) to prepare the printer for sharing on a network. This switch will add entries to the registry
and create extra folders for the shared printer. It is now possible to install a shared PDF printer using a command line such as this:
Setup_PDFWriter_bioPDF_14_5_0_2974.exe /SHARE /SILENT /PRINTERNAME="Network PDF Printer"
This will install a new PDF printer named Network PDF Printer and share it on the network.
Registry settings and the global.ini file will tell the printer to use this folder for settings, logs, temporary files, and the PDF printer output.
With the impersonation turned off, the PDF creation will run in the context of the spooler service. That is normally a local service account. It is
recommended that the default location for files used by the printer is changed to a new structure that is customized for this use. This allows us
to manipulate the file system security for these folders without affecting the rest of the server. The /SHARE installation switch will create such a
structure for you.
Registry Settings
When a print job is sent from the spooler to the virtual printer port, the port will look to the registry for information on which folders and
configuration settings to use. You can either add these settings manually or let the /SHARE switch create them during installation.
Impersonation
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\Network PDF Printer and add a string value named
Disable Impersonation . Set the value of this setting to 1.
Use the following values in the registry to override the special folders used in the PDF creation process.
"Application Data"="C:\ProgramData\PDF Writer\Network PDF Printer\Application Data"
"Local Application Data"="C:\ProgramData\PDF Writer\Network PDF Printer\Local Application Data"
"TempFolder"="C:\ProgramData\PDF Writer\Network PDF Printer\Temp"
(registry.png)
Options for a shared printer should be stored in the global.ini (..\..\global_ini.php) belonging to the shared printer. A sample global.ini is shown
below.
[PDF Printer]
ShowPDF=no
ShowSettings=never
ShowSaveAs=never
ConfirmOverwrite=no
Output=<commonapplicationdata>\PDF Writer\<printername>\Output\<docusername>\<smarttitle> - <date> <time> - <guid>.pdf
ShowProgress=no
ShowProgressFinished=no
SuppressErrors=yes
The most important purpose of the global.ini for a shared printer is to make sure that no dialogs are shown. If dialogs are shown, then the
printing can stop and wait for user interaction. This can lock up the process because no user can see what happens in the context of the print
spooler service. Therefore, you have to make sure that all dialogs are turned off.
Adding date and time to the document name helps avoid that documents are overwritten. In addition, the <guid> macro that creates a unique
system id will make sure that the same file name is not used twice. 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 read the document.
When a printer is shared, it is important to install drivers that support the operating systems that we want to share it to. These drivers must be
installed on the computer that shares the printer.
In this walk through, we use a 64-bit system for sharing the printer. However, we must make sure that we also install a 32-bit driver to support
users coming from an x86 based 32-bit operating system.
Running multiple tests with many different drivers, we found that the HP Universal Print Driver for Windows - Postscript was suited for the task at
hand. You could use other Postscript drivers with support for your target platforms if you prefer.
Here are the steps for installing the driver.
1. Search for HP Universal Print Driver for Windows PostScript (x86) to download the HP Universal Print Driver for Windows PostScript for 32-
bit systems.
2. Search for HP Universal Print Driver for Windows PostScript (x64) to download the HP Universal Print Driver for Windows PostScript for 64-
bit systems.
3. You need to download both the 32-bit and the 64-bit package.
4. Run the downloaded executable for 32-bit. It will unpack itself and try to run the setup. If you are on a 64-bit system then the setup will
complaint. That does not matter. We just need the unpacked files.
5. Run the downloaded executable for 64-bit.
6. Select to install in Traditional Mode.
7. It will try to search for printers but you should stop it. Select The printer that I want isn't listed (Windows Server 2012).
8. Add a local printer.
9. Select the FILE: port.
10. Select the HP Universal Printing PS driver.
11. Next, Next, Do not share the printer.
12. Finish the installation wizard.
13. Now you have a printer named HP Universal Printing PS but more importantly, you have the 64-bit driver installed on your system.
14. You can delete the installed printer now. We do not need it. Just the drivers it put on your system.
Just follow the instructions in the installation section above. After the installation you follow these steps:
1. Install the printer and tell the installer to use the new driver. Use the following command line:
Setup_PDFWriter_bioPDF_14_5_0_2974.exe /SHARE /SILENT /PRINTERNAME="Network PDF Printer" /DRIVER="HP Universal Printing PS"
2. Locate the new Network PDF Printer and open the printer properties.
3. Click the Sharing tab.
4. Click the Additional Drivers… button.
5. Check the x86 driver and click OK.
6. When prompted for printer driver click Browse and locate the 32-bit driver folder. The default location is
C:\HP Universal Print Driver\ps-x32-5.5.0.12834 .
That's it!
Feedback
Please use the contact form to send feedback if you can help us improve this guide :-)
© Copyright 2025 BioPDF ApS. All rights reserved | Privacy Policy (../../../privacy_policy.php) | PAD files (../../../pad.php)