biopdf logo


Download PDF Writer

Other Tools
Command line printing with Acrobat Wrapper

Awards & Press
PC Magazine Online


ZD Net



Printer Port and Registry Settings

The installed printer will read a short list of settings from the computer's registry database. Most settings are determined by the configuration files but some of the information used by the low-level processes are read from registry.

All these settings are located under the printer's private registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\PDF Writer - bioPDF

The last part of the key name depends on the printer name.


The GUITimeout setting controls how the printer port starts the gui.exe process. This process is where the actual conversion from Postscript to PDF or image formats take place. Conversion is started by the port when the Postscript is spooled. By default, the port continues with the next print job as soon as the gui.exe process is started.

Using the GUITimeout setting you can change this behavior. The value of GUITimeout is a number of milliseconds to wait for the gui.exe process to finish. In case the gui.exe process has not finished within this time limit, an error is reported by the port. Specifying -1 as the timeout value will make the port wait forever for the process to terminate. That will make sure that no more than one process is running at any given time. This can be used if you automate a sequence of appended print jobs with the Append If Exists feature.

GUITimeout defaults to 600000 (10 minutes) if the setting is not found in the registry.
Before version 10.24 the default was 0 (zero).

Value Meaning
0 The port continues with the next job as soon as the gui.exe process is started. Multiple conversions can run simultaneously.
-1 The port waits until the gui.exe process has terminated before starting the next print job from the spooler queue.
> 0 The port waits the number of milliseconds specified in the value. An error is reported and the gui.exe is terminated if it runs longer than the specified timeout.

Warning: If you specify -1 then the gui.exe process can stop the printing process if it hangs for any reason. In a fully automated setup, you might prefer to specify a sufficiently high timeout that makes sure that the job is finished if everything run as planned. At the same time, it makes sure that a faulty print job does not hang the system.

The GUITimeout is specified in the computer registry under the key shown below.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\PDF Writer - bioPDF

It is a string value named GUITimeout and the content is an integer.

GUITimeout Registry Image

GUITimeout was introduced with version

Disable Impersonation

When print jobs are created by users with limited permissions on the system where the printer is installed, it can be useful to create the PDF in the user context of the print spooler service instead of the user associated with the print job.

Setting Disable Impersonation to 1 will make the PDF creation run in the user context of the print spooler.

This setting is normally used when the printer is shared on the network or print jobs are created from a web server.

Name: Disable Impersonation
Type: REG_SZ
Value: 1 will disable impersonation.


Use this setting to override the default location for creation of temporary files during PDF creation. When a PDF is created, the virtual printer will create multiple temporary files. These files are removed after the PDF is created. Setting the TempFolder value will give you control over the location and make it easier for you to apply specific security settings.

Name: TempFolder
Type: REG_SZ
Value: Full path to folder where temporary files should be created.

Application Data

The application data folder is where the printer stores files such as the settings.ini. This is the file created by the options dialog and determines the settings for the PDF creation. Normally, this folder is user specific meaning that every user on the machine has an individual settings.ini file. By overriding the default location for the application data folder, you can make this folder the same for all users.

Name: Application Data
Type: REG_SZ
Value: Full path to folder where application data is stored.

Common Application Data

The folder for common application data is where the printer normally stores information that should be the same for all users on the machine. This is where files such as global.ini are stored.

Name: Common Application Data
Type: REG_SZ
Value: Full path to folder where common application data is stored.

Local Application Data

The possibility to override the setting for the local application data folder is only used to control the evaluation of the <localapplicationdata> macro.

Name: Local Application Data
Type: REG_SZ
Value: Full path to folder where local application data is stored.


The virtual print port monitor used by the Print Spooler service will use this setting to locate the correct instance of gui.exe to launch.

Name: AppFolder
Type: REG_SZ
Value: Full path to folder where the application is installed.


Normally log files are stored with the temporary files. This can be changed if you use this setting to specify an alternative location.

Name: LogFolder
Type: REG_SZ
Value: Full path to folder where the log files are stored.


Process priority can be controlled by setting the PriorityClass setting. Valid values are idle, high, realtime, below normal, and above normal. The priority setting is normally used to lower the priority for the PDF creation process. This will make sure that heavy PDF jobs does not consume CPU resources from other processes.

Name: PriorityClass
Type: REG_SZ
Value: idle, high, realtime, below normal, above normal

McAfee SiteAdvisor Norton Safe Web