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 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.
Supported Operating Systems
The PDF Printer can be shared on Windows 7 or later. Typically, the printer is shared from a print server running Windows Server 2012, 2016 or 2019.
Users of the shared printer run Windows 7 or later.
The current version is tested with Windows 7, 8, 8.1, 10 and Windows Server 2012, 2016 and 2019. R2 editions of the Windows Server versions are also supported.
Starting 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 to prepare the printer for sharing on a network. Note that the parameter is only available in the Setup of PROFESSIONAL Edition or EXPERT Edition. You have to use one of these editions! The
/SHARE 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_7PDF_10_5_0_2307_PRO_EXP.exe /SHARE /SILENT /PRINTERNAME="Network PDF Printer"
This will install a new PDF printer named Network PDF Printer and share it on the network.
Changing File Locations
By default, the shared printer will save the output to a predefined folder on the print server. This folder can be changed if you want to save files to a different location.
When you use the
/SHARE switch on the installation program it will create a special folder for the installed printer name. On most systems this folder is located here:
C:\ProgramData\PDF Writer\Network PDF Printer
Please note that the last part of the name is the actual printer name. This will change if you install a printer with a different name. On older versions of Windows this folder may be located in this location:
C:\Documents and Settings\All Users\Application Data\PDF Writer\Network PDF Printer
You may not be able to browse to these folders if your Windows File Explorer does not show hidden files and folders.
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.
Security Context and Impersonation
When the printer is shared, the network users can connect to it 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.
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.
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 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
Set the value of this setting to 1.
Files and Folders
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"
Printer Settings in global.ini
As mentioned earlier on this page, the shared printer will use a predefined set of settings. The printing users will not be able to set different options such as output file name or watermarks. Each shared printer will have a fixed set of options. However, you can install and share multiple PDF printers with different options.
Options for a shared printer should be stored in the global.ini belonging to the shared printer. A sample global.ini is shown below.
<commonapplicationdata>\PDF Writer\<printername>\Output\<docusername>\<smarttitle> - <date> <time> - <guid>.pdf
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.
In addition, by changing the setting Output, at a central point in the printer's global.ini, the administrator can request the adjustment of a different output path. So deviate from the path set by
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.
The setting Superimpose defines a business paper which is to be printed as a background on all PDF pages. You can find more information about all settings in configuration files like global.ini, settings.ini or user.ini here.
Version 3 vs. Version 4 Printer Drivers
Starting with Windows 8 and Windows Server 2012, you can use version 4 printer drivers. These drivers makes it easier to share the printer over the network.
If the consumers of the shared printer are running Windows XP or Windows Server 2003 then you have to use a version 3 printer driver. This is also the case if the print server is running Windows 2003 or 2008.
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.
Using Version 3 Drivers
Some mostly older versions of Windows does not support version 4 printer drivers and require that you install a version 3 printer driver before you can share the printer to both 32 and 64-bit systems.
Here are following the steps needed to create a shared PDF Printer with a version 3 printer driver.
Installing a Version 3 Driver
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.
Go to HP Universal Print Driver für Windows PostScript (x86), to download the HP Universal Print Driver for Windows PostScript for 32-bit systems.
Go to HP Universal Print Driver für Windows PostScript (x64), to download the HP Universal Print Driver for Windows PostScript for 64-bit systems.
You need to download both the 32-bit and the 64-bit package.
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.
Run the downloaded executable for 64-bit.
Select to install in Traditional Mode.
It will try to search for printers but you should stop it. Select The printer that I want isn't listed (Windows Server 2012).
Add a local printer.
Select the FILE: port.
Select the HP Universal Printing PS driver.
Next, next, Do not share the printer.
Finish the installation wizard.
Now you have a printer named HP Universal Printing PS but more importantly, you have the 64-bit driver installed on your system.
You can delete the installed printer now. We do not need it. Just the drivers it put on your system.
Installing the PDF Printer
Just follow the instructions in the installation section above. After the installation you follow these steps:
Locate the new Network PDF Printer and open the printer properties.
Click the Advanced tab and change the driver to HP Universal Printing PS and click Apply.
Click the Sharing tab.
Click the Additional Drivers... button.
Check the x86 driver and click OK.
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-184.108.40.20634
OK your way back to the properties for the printer.
Click Close to close the properties.
Please use the contact form, to send feedback if you can help us improve this guide :-)