Understanding the configuration file format
Grafikhuset Publi PDF store its configuration information in Windows INI file format, i.e. a simple text file that can be edited with any ASCII editor such as Windows Notepad.
Publi PDF cannot run without at least one properly configured queue. By default Publi PDF look up the required configuration information in a file called »Settings.ini«, which Publi PDF expect to find in the folder where you installed Publi PDF.
Publi PDF doesn't store any user-configurable information in the Windows Registry (though it may store private run-time information). However, it does inspect a key in the Windows Registry that tell Publi PDF which configuration file to read configuration information from each time Publi PDF (the QueueMonDLL.dll component) is started. For details about this key refer to Sharing a configuration file.
If the value returned from this inspection is invalid or Publi PDF cannot access the file, Publi PDF will fall back to use the local »Settings.ini«. If this file is not found, or the information it provide is invalid, Publi PDF may not start its queue monitors.
This document set out which INI groups and keys that form a valid configuration.
Configuration entries
The configuration file may contain the following group entries:
The Configuration group
The [Configuration] group maintain a dictionary of system paths that Publi PDF use to look up it's dependency components. This group is optional and may be omitted from the configuration file.
The [Configuration] group may contain the following optional keys:
- DirSystemFiles
- DirColorTables
- DirHelpFiles
- DirUnplaceableFiles
- DirStampFiles
- DirSecurityFiles (now obsolete)
| Key | Value |
|---|---|
| DirSystemFiles | Specify the folder where Publi PDF can find system files such as plug-in modules etc. By default this folder is <Install Path>\System files\ |
| DirColorTables | Specify the folder where the Publi PDF Optimizer plug-in can find its
color maps. By default this folder is <Install Path>\Color tables\ |
| DirHelpFiles | Specify the folder where Publi PDF can find its help files. By default this folder is <Install Path>\Help\ |
| DirUnplaceableFiles | Specify the folder to which the Publi PDF queues will store output if
the JobFolder entry for a queue is invalid or can't be accessed (see
Important
security considerations). By default this folder is <Install Path>\Unplaceable\%QueueName%\%UserName% See Using variables in paths for details about the %QueueName% and %UserName% variables. |
| DirStampFiles | Specify the folder where the Publi PDF Stamper plug-in can find its
stamp documents. By default this folder is <Install Path>\Stamps\ |
| DirSecurityFiles | Specify the folder where Publi PDF can find information on
how to apply
security on-the-fly to PDF documents output from queues that use GPL
Ghostscript 8.56 or later as interpreter. By default this folder is <Install Path>\Security\ This setting is now obsolete and is maintained only to preserve for binary compatibility with revisions older than 1.50.0278. See Applying security to PDF documents on-the-fly for further details. |
Wrong entries in the [Configuration] group will likely cause the overall functionality of Publi PDF to malfunction.
The File Naming Filters group
Many applications on Windows sends a document name to the spool queue according to the syntax <Application Name> - <Document Name> or vice versa, i.e. <Document Name> - <Application Name>. Since Grafikhuset Publi PDF capture the document name from the print spooler most documents will become named with <Application Name> as part of their file name.
That is not desirable in the general case.
To help filtering such and similar inexpedient phrases Grafikhuset Publi PDF revisions 1.50.0286 or later implement a new File Naming Filter that can be customized to delete or replace phrases as need be. Such filters are stored in the [FileNamingFilters] group in the configuration file, where each phrase to filter represent a key in this group.
Grafikhuset Publi PDF revisions 1.50.0286 or later has the following filters active by default:
[FileNamingFilters]
Microsoft Word -=
Microsoft Excel -=
Microsoft PowerPoint -=
- Notepad=
- Notesblok=
Remarks: These filters are active as long as you do NOT add entries to the [FileNamingFilters] group. If you need the default filters as well as new filters you are obliged to add the default filters also (as shown above).
The Queue Name groups
When Publi PDF loads it identify all printer instances on the system that use the Publi PDF printer driver. For each such instance it creates a queue and expect to find a group entry in the configuration file that match the instance name. Hence, if you have installed two Publi PDF printer instances called »Publi PDF« and »Publi PDF with Letterhead« respectively, the configuration file must contain two [<Queue Name>] groups, namely [Publi PDF] and [Publi PDF with Letterhead].
If the printer instance isn't mentioned in the configuration file the queue will be created internally in Publi PDF, but the queue's monitoring function will most often not start immediately because it likely doesn't know what to do. However, when the monitoring function is started each print job arriving in the queue will force a reload of any contents in its [<Queue Name>] group, i.e. settings at queue level can be edited on-the-fly and will have immediate effect.
It is legal to have [<Queue Name>] groups mentioned in the configuration file for which the printer instance isn't available.
You can define any number of [<Queue Name>] groups as long as the maximum file size for Windows INI files — approximately 64 Kb — is not exceeded.
Each [<Queue Name>] group may contain the following keys:
- AcroHighResSettingsFile
- AcroLowResSettingsFile
- AcroPreserveSecurity
- Attended
- AutoPrefixUserName
- CreateLowResOnTheGo
- JobColorTable
- JobDeleteOnFinish
- JobExternalCommandApp
- JobExternalCommandParams
- JobFolder
- JobFolderLowRes
- JobInterpreter
- JobOutputFormat
- JobPreviewOnFinish
- JobSecurityFileName
- LogDeleteOnFinish
- LowResSuffixName
- MetaDataAuthor
- MetaDataKeywords
- MetaDataSubject
- MetaDataTitle
- PromptForFileName
- ProperCaseFileNames
- QueueType
- SecurityEnabled
- SecurityFlags
- SecurityOpenPassword
- SecurityOwnerPassword
- SplitPagesOnTheGo
Plug-in modules such as Publi PDF Stamper and Publi PDF Optimizer makes use of additional keys that are specific for each plug-in. See the documentation for each plug-in for further details.
| Type | Value | Meaning |
|---|---|---|
| String | File name with path and extension |
Points to the .joboptions file Adobe Distiller use for primary conversion to
PDF. Normally this file should be set-up to define settings that match the
needs of commercial printing, but any valid .joboptions file can be used. The default value is an empty string, which will force Adobe Distiller to use it's default .joboptions file. Different versions of Adobe Distiller has different default settings. |
It is highly recommended to specify AcroHighResSettingsFile for each SpoolQueue. This is in particular true when more than one SpoolQueue is installed, since the requirements for each are likely to be different.
AcroHighResSettingsFile does not have any effect if JobInterpreter is not set to an Acrobat Distiller version.
The .joboptions file specified by AcroHighResSettingsFile should be created with the same Adobe Distiller version as specified by JobInterpreter. Otherwise the conversion process may provide unpredictable results.
AcroHighResSettingsFile does not support variables in the specified path.
| Type | Value | Meaning |
|---|---|---|
| String | File name with path and extension |
Points to the .joboptions file Adobe Distiller use for secondary conversion to
PDF. Normally this file should be set-up to define settings that match the
needs of low resolution output for screen display, but any valid .joboptions file can be used. The default value is an empty string, which will force Adobe Distiller to use it's default .joboptions file. Different versions of Adobe Distiller has different default settings. |
To bring AcroLowResSettingsFile into effect you must specify an Acrobat Distiller version as JobInterpreter and enable CreateLowResOnTheGo. Publi PDF does not check that AcroLowResSettingsFile is different from AcroHighResSettingsFile.
The .joboptions file specified by AcroLowResSettingsFile should be created with the same Adobe Distiller version as specified by JobInterpreter. Otherwise the conversion process may provide unpredictable results.
AcroLowResSettingsFile does not support variables in the specified path.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 (default) | Disables any security setting that may be defined directly within the Acrobat Distiller User Interface. |
| 1 | Preserve security settings defined directly within the Acrobat Distiller
User Interface. Publi PDF does NOT attempt to read nor change these settings. |
To bring AcroPreserveSecurity into effect you must specify an Acrobat Distiller version as JobInterpreter.
AcroPreserveSecurity was first implemented into revision 1.00.0232 of QueueMonDLL.dll.
See also: SecurityEnabled, SecurityFlags, SecurityOpenPassword and SecurityOwnerPassword.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 | The queue is unattended. In this mode any switch that involve interaction from a user is ignored (e.g. the PromptForFileName setting). |
| 1 (default) | The queue is attended. |
Queues that are intended to be monitored by the Publi PDF NT Service component (PubliPDF.exe) must use Attended=0. If not at least one queue is marked as unattended the NT Service component will not start.
Queues that are intended to be monitored by the Publi PDF Client component (PubliClient.exe) must use Attended=1. If not at least one queue is marked as attended the Publi PDF Client component will not start its monitors (even though an icon may be displayed in the system tray).
Custom applications that call the core Publi PDF engine via ActiveX are allowed to run unattended queues within a user context.
See also: Run mode differences.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 (default) | The queue will not apply a prefix to the output document. |
| 1 | The queue will apply a prefix to the output document. The prefix is taken from the user name that is specified for the print job. |
When enabled AutoPrefixUserName will force Publi PDF to capture the user name that is associated with any print jobs that arrive in a queue, and then – upon document creation – let the output file name be prefixed with that user name followed by an underscore. Hence, if the user name is »Hugo« and the document name is »MyDocument« the resulting document name would be »Hugo_MyDocument.pdf« (if the JobOutputFormat switch was set to »1,pdfwrite«).
Especially in corporate environments this switch can be very useful.
See also: Using variables in paths.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 (default) | The queue will not run an extra pass and create a second copy of the output document. |
| 1 | The queue will create a primary document in the folder specified by JobFolder and a secondary copy of the output document in the folder specified by JobFolderLowRes. |
The CreateLowResOnTheGo switch is very useful in environments where documents are published from the same source as both PDF documents for commercial printing and less resolution-demanding media such as the Internet. This switch allow both document versions to be created within the same process.
CreateLowResOnTheGo is in effect only when JobOutputFormat switch is set to »1,pdfwrite«.
See also: AcroHighResSettingsFile, AcroLowResSettingsFile, LowResSuffixName and JobFolderLowRes.
| Type | Value | Meaning |
|---|---|---|
| String | File name without path and extension |
Points to the color map file that the Publi PDF Optimizer plug-in will
use upon conversion. The default value is »Default«, and a valid Default.ccMap file is required to be found in the folder specified by the DirColorTables configuration entry. |
Revisions from 1.00.0252 or later will read the JobColorTable entry into OptimizerColorMap variable and then delete the JobColorTable entry from the INI file.
If the Optimizer plug-in is not installed the value of JobColorTable is ignored.
If the value points to a name that cannot be found in the folder specified by DirColorTables, Publi PDF will fall back and use Default.ccMap instead. If Default.ccMap is missing or has been impaired by errors caused by manual changes, any queues using the Optimizer plug-in may malfunction.
New color maps can be created with the Publi PDF Analyzer plug-in and should not be created manually unless a very skilled PostScript programmer person does it. Default.ccMap provide any required instructions as PostScript comments.
The value None is illegal for the JobColorTable entry.
The Publi PDF Optimizer plug-in may conflict with some start-up plug-ins for Adobe Acrobat Distiller, such as some versions of the Creo Distiller Assistant.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 | The queue will preserve a copy of the PostScript stream as it arrived into the print queue as a PostScript file with extension »prn«. |
| 1 (default) | The PostScript stream will not be saved to file. |
Whilst the JobDeleteOnFinish switch is included primarily for debugging purposes, it can be quite useful for other purposes as well.
It is not recommended to have unattended queues set to preserve any PostScript unless plenty of disk space is available on the destination drive. This is in particular true if Publi PDF is run as a NT Service on one or more file servers in a corporate environment.
| Type | Value | Meaning |
|---|---|---|
| String | Complete path to an executable command |
Specify the executable command that the queue need to call to perform an external operation immediately after conversion has completed. By default this is an empty string. |
JobExternalCommandApp is not allowed to contain command line commands. Such commands must be specified via the JobExternalCommandParams entry. The value of JobExternalCommandApp is not validated in any way, potential errors in the command string will not be reported or logged and the queue will not wait until execution of the command has finished. The process started by the command should be able to close itself down and will not be closed by the Publi PDF queue.
JobExternalCommandApp support the %InstallPath% variable, which points to the folder where Grafikhuset Publi PDF is installed.
| Type | Value | Meaning |
|---|---|---|
| String | Sequence of command line parameters |
Specify any command line parameters which the executable command defined by JobExternalCommandApp may require. By default this is an empty string. |
JobExternalCommandParams supports the %JobName% variable, which refer to the full path incl. file name of the last job output by the queue.
Example:
JobExternalCommandApp=%InstallPath%\PDFViewer.exe
JobExternalCommandParams=/JN=%JobName% /PN=HP Color LaserJet 5500 PS /PS=On
/ST=Off
The above shown command line instructs the Publi PDF queue to let Publi PDF Viewer print the document %JobName% to the HP Color LaserJet 5500 PS printer — using default printing preferences for that printer — without displaying the document first.
| Type | Value | Meaning |
|---|---|---|
| String | Complete path to a folder |
Specify which folder into which the Publi PDF queue is expected to write
its primary output. By default this folder is <Install Path>\Output\ See Using variables in paths for details about having various variable types decide where to have the output written. See Important security considerations for details about having the Publi PDF NT Service component write to a remote file share. |
If the folder specified by JobFolder cannot be accessed by the Publi PDF queue, all output from that queue will be redirected to the folder specified by the DirUnplaceableFiles configuration entry.
If JobFolder specify a valid path and the Publi PDF queue cannot access it, the reason is most likely lack of access rights granted to the user account under which Publi PDF is run. This problem is very common for unattended queues monitored by the Publi PDF NT Service component, in particular when JobFolder specify a path to a remote file share. See Important security considerations for a good tip on that one.
Specifying remote file shares in the JobFolder entry may degrade performance a lot. The recommendation is to have the Windows »DefaultSpoolDirectory« point to a folder on the same physical disk partition as the folder specified as value for the JobFolder entry. See Optimizing performance to learn why this is a fact.
If an Adobe Acrobat Distiller version is specified as JobInterpreter the .joboptions file specified as AcroHighResSettingsFile will be used for conversion to PDF.
| Type | Value | Meaning |
|---|---|---|
| String | Complete path to a folder |
Specify which folder into which the Publi PDF queue is expected to write
its secondary output. This setting is in effect only when
CreateLowResOnTheGo
is enabled. By default this folder is <JobFolder>\LowRes\ See Using variables in paths for details about having various variable types decide where to have the output written. See Important security considerations for details about having the Publi PDF NT Service component write to a remote file share. |
If the folder specified by JobFolderLowRes cannot be accessed by the Publi PDF queue, all low resolution output from that queue will be redirected to the \LowRes subfolder of the folder specified by the DirUnplaceableFiles configuration entry.
If JobFolderLowRes specify a valid path and the Publi PDF queue cannot access it, the reason is most likely lack of access rights granted to the user account under which Publi PDF is run. This problem is very common for unattended queues monitored by the Publi PDF NT Service component, in particular when JobFolderLowRes specify a path to a remote file share. See Important security considerations for a good tip on that one.
If an Adobe Acrobat Distiller version is specified as JobInterpreter the .joboptions file specified as AcroLowResSettingsFile will be used for conversion to PDF.
JobFolderLowRes was first implemented into revision 1.00.0227 of QueueMonDLL.dll.
| Type | Value | Meaning |
|---|---|---|
| String | Name and version of the interpreter |
Specify which PostScript interpreter to use for conversion into PDF (or
other formats). By default this entry currently is »GPL Ghostscript 8.63«. This default may change without notice as need be. |
When Publi PDF is started it sets up an internal list of PostScript interpreters available on the system. The value of JobInterpreter must specify one of these. Otherwise the Publi PDF queue cannot start its monitoring function.
The syntax is »<Product Name> <Version>«. Note the space between <Product Name> and <Version>, and that spaces are allowed/required in the <Product Name> part of the value. Examples of valid entries are:
Acrobat Distiller 6.0
Acrobat Distiller 7.0
Acrobat Distiller 8.0
AFPL Ghostscript 8.54
GPL Ghostscript 8.60
GPL Ghostscript 8.63
Note that Publi PDF doesn't work with minor or revision numbers such as 8.1 with Adobe Acrobat Distiller. Even though you might run Acrobat Distiller 8.1 with Publi PDF you must still specify Acrobat Distiller with it's major version number, i.e. with »Acrobat Distiller 8.0« as value for JobInterpreter.
| Type | Value | Meaning |
|---|---|---|
| Composite of Number and String |
Format number and name of writing device |
Specifies the main output format and the name of the writing device for
any output format variant. By default this entry currently is »1,pdfwrite«. |
The syntax for JobOutputFormat is a composite between a number and a string. The number entry is separated from the string with a comma, and spaces are not allowed in this entry.
The format is »enOutputDeviceTypes,sDeviceVariantName«, where enOutputDeviceTypes represent an enumeration of formats in the range defined by the enOutputDeviceTypes enumeration, and sDeviceVariantName represent the name of the writing device for the format variant.
sDeviceVariantName must be entered with lower case characters only.
See enOutputDeviceTypes for a list of valid sDeviceVariantName entries for each output format.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 | The queue will not attempt to open the output file. |
| 1 (default) | The queue will attempt to open the output file in the default viewer for the chosen file format immediately after the output file is created. |
The JobPreviewOnFinish switch is ignored if the queue is not Attended.
| Type | Value | Meaning |
|---|---|---|
| String | File name without path and extension |
Points to a file that set-up configuration details (Ghostscript required). |
If the value points to a name that cannot be found in the folder specified by DirSecurityFiles, Publi PDF will not encrypt nor set any security.
If JobInterpreter doesn't point to a version of Ghostscript that fully supports security-writing, the JobSecurityFileName entry is ignored by Publi PDF.
See Applying security to PDF documents on-the-fly for details.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 | The queue will preserve a .log file for each converted job. The .log file may provide a certain amount of useful information. |
| 1 (default) | The .log file will be deleted if conversion is successful. |
Whilst the LogDeleteOnFinish switch is included primarily for debugging purposes, it can be quite useful for other purposes as well.
Some systems may rely on creation of a .log file to determine whether or not a PDF document is stable and ready for further processing.
| Type | Value | Meaning |
|---|---|---|
| String | Case sensitive text |
Specify a suffix such as
»_LowRes« which will be added to the end of the PDF document name (before
the file extension) when CreateLowResOnTheGo
is enabled. The default value is an zero length string. |
When JobFolder and JobFolderLowRes have the same value and LowResSuffixName is a zero length string, the secondary output file will be added the fixed suffix »_LowRes«. Hence, if it's required to have both primary and secondary output documents written to the same output folder, LowResSuffixName should be set to a meaningful value (if not »_LowRes« does the trick).
| Type | Value | Meaning |
|---|---|---|
| String | Case sensitive text |
Sets the »Author« field in the PDF document properties. The default value is the variable %UserName%, which instruct Publi PDF to insert either the full name of the user who created the job (if it can be looked up), or the login name. |
MetaDataAuthor allow use of the %UserName% variable in any part of the string.
Revision 1.50.0278 and later implement the MetaDataAuthor setting.
| Type | Value | Meaning |
|---|---|---|
| String | Case sensitive text |
Sets the »Title« field in the PDF document properties. The default value is the variable %JobTitle%, which instruct Publi PDF to insert the document name as it appear in the Windows print queue (illegal characters may be filtered). |
MetaDataTitle allow use of the %JobTitle% variable in any part of the string.
Revision 1.50.0278 and later implement the MetaDataTitle setting.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 (default) | The queue will not prompt the user. |
| 1 | The queue will display a dialog that allow the user to choose a file name before conversion starts. Also, other user-configurable options can be selected. |
PromptForFileName apply only to queues marked as being attended (Attended=1). For unattended queues this setting is ignored.
To be able to edit color maps on-the-fly or create new color maps via the Publi PDF Analyzer and Publi PDF Optimizer plug-ins both Attended and PromptForFileName must be »1«.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 (default) | The queue will not change file names. |
| 1 | The queue will change file names to »proper case«, i.e. the first
character and characters positioned immediately after a Space character will
convert to upper case. Example: »this is a file name« will convert to »This Is A File Name«. |
ProperCaseFileNames was first implemented into revision 1.00.0225 of QueueMonDLL.dll. All previous versions didn't support this switch and behaved as if ProperCaseFileNames=1, i.e. the default behavior has changed.
If the job name either begins or ends with a Space character (or both), any starting or trailing Space character will be removed from the resulting file name.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 (default) | Specifies the queue type. This is a reserved, numeric parameter representing the members of the enQueueTypes enumeration. |
Currently the QueueType parameter must be set to »0«, which is equivalent to the enqtPrintQueueColorConvert member of the enQueueTypes enumeration.. Other values may produce unpredictable results.
| Type | Value | Meaning |
|---|---|---|
| Number (Boolean) |
0 (default) | Effectively disables security settings. |
| 1 | Enables security settings as defined by the SecurityFlags setting. This setting can be enabled only when GPL Ghostscript 8.56 or later is installed as JobInterpreter. |
Revision 1.50.0278 and later implement the SecurityEnabled setting.
See also: AcroPreserveSecurity and Applying security to PDF documents on-the-fly.
| Type | Value | Meaning |
|---|---|---|
| String | -1052 (default) | Sets a combination of flags that disallow changing the document, document assembly and content copying or extraction, but fully allow printing, commenting, filling in form fields, signing and extraction of text and graphics in support of accessibility to users with disabilities. |
| Other values | Negative number representing any other combination of flags. For a full list of flags, see Applying security to PDF documents on-the-fly for details. |
To bring SecurityFlags into effect you must specify GPL Ghostscript 8.56 or newer as JobInterpreter.
Revision 1.50.0278 and later implement the SecurityFlags setting.
See also: AcroPreserveSecurity and Applying security to PDF documents on-the-fly.
| Type | Value | Meaning |
|---|---|---|
| String | Case sensitive text |
Sets a password the document user is required to enter to open
the document. The default value is an empty string. |
To bring SecurityOpenPassword into effect you must specify GPL Ghostscript 8.56 or newer as JobInterpreter.
Revision 1.50.0278 and later implement the SecurityOpenPassword setting.
See also: AcroPreserveSecurity and Applying security to PDF documents on-the-fly.
| Type | Value | Meaning |
|---|---|---|
| String | Case sensitive text |
Sets a password required to change the applied access permissions. The default value is »OwnerPassword«. A zero length string is not permitted. |
To bring SecurityOwnerPassword into effect you must specify GPL Ghostscript 8.56 or newer as JobInterpreter.
Revision 1.50.0278 and later implement the SecurityOwnerPassword setting.
See also: AcroPreserveSecurity and Applying security to PDF documents on-the-fly.
| Type | Value | Meaning |
|---|---|---|
| Number | 0 (default) | Off |
| 1 | The queue will create a primary document in the folder specified by JobFolder and separate documents for each page in the primary document. |
The SplitPagesOnTheGo switch is very useful in environments where single page documents are required for commercial printing.
SplitPagesOnTheGo currently uses a third-party component called pdftk written by Sid Stewart. pdftk is a free software licensed under the GPL license model. Please refer to http://www.accesspdf.com/pdftk/ for details about pdftk.
SplitPagesOnTheGo is in effect only when JobOutputFormat switch is set to »1,pdfwrite« and pdftk.exe is installed (copied) into the <Install Path>\Extensions\ folder.
The GroupNameMapping group
In the writing
Using Group Name Mapping
In the writing
Using variables in paths
In the writing
Applying security to PDF documents on-the-fly
Grafikhuset Publi PDF can apply access permissions to generated PDF documents. Your options vary with your choice of JobInterpreter for a given queue:
With Acrobat Distiller 5.0 or newer
When an Acrobat Distiller version is specified as JobInterpreter the PDF document access permissions is set-up in the Acrobat Distiller User Interface and can be preserved and automatically applied to generated PDF documents created via Publi PDF. See AcroPreserveSecurity for details.
With GPL Ghostscript 8.56 or newer
When GPL Ghostscript 8.56 or newer is specified as JobInterpreter the PDF document access permissions are applied when SecurityEnabled=1. The security applied is based upon revision 3 of the standard PDF security handler with 128-bit encryption.
The permissions actually set are defined by the SecurityFlags setting. Below is listed the possible access permission flags:
| Flag | Meaning |
|---|---|
| -4 | Print the document. If also -2048 is set only low quality printing is allowed. |
| -8 | Modify contents of document, except as controlled by -32, -256 and -1024. |
| -16 | Copy text and graphics from document other than that controlled by -512. |
| -32 | Add or modify text annotations, fill in interactive form fields, and if -256 is set, create or modify interactive form fields (including signature fields). |
| -256 | Fill in existing interactive form fields (including signature fields), even if -32 is clear. |
| -512 | Extract text and graphics (in support of accessibility to users with disabilities or for other purposes). |
| -1024 | Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even when -16 is clear. |
| -2048 | High quality printing |
Subtract these values from -4 (the base value) to disable an access.
The default value, SecurityFlags=-1052, combine the base value of -4 with a combination of flags that disallow changing the document (-8), document assembly (-1024) and content copying or extraction (-16), but fully allow printing, commenting, filling in form fields, signing and extraction of text and graphics in support of accessibility to users with disabilities.
To enable all, use SecurityFlags=-4. To disable everything apart from viewing, combine the following: -4 (base), -4 (print), -8 (modify), -16 (copy), -32 (annotate), -256 (interactive fields), -512 (copy for disability access), -1024 (assemble) and -2048 (high quality printing), i.e. SecurityFlags=-3904.
For complete details about PDF access permissions and PDF security handlers please refer to the Adobe PDF Reference.
Note: With Publi PDF it's not allowed to set SecurityOwnerPassword to a zero length string, i.e. SecurityOwnerPassword must have a value.
A sample Settings.ini file
Example of the [Configuration] section:
[Configuration]
DirUnplaceableFiles=C:\FailedOutput\%QueueName%\%UserName%
DirStampFiles=C:\MyStamps\
Example of a [<Queue Name>] section representing an attended queue:
[Publi PDF Client]
Attended=1
JobFolder=C:\MyPDFDocs\%QueueName%
JobColorTable=Default
MarksFileName1=Letterhead1
MarksFileName2=None
JobDeleteOnFinish=1
LogDeleteOnFinish=1
JobOutputFormat=1,pdfwrite
JobInterpreter=Acrobat Distiller 8.0
QueueType=0
MetaDataAuthor=%UserName% at Grafikhuset ApS
AutoPrefixUserName=0
PromptForFileName=1
ProperCaseFileNames=0
OptimizerAutoExpandMedia=1
OptimizerAutoMergeSpotPlates=1
Example of a [<Queue Name>] section representing an unattended queue:
[Publi PDF Service]
Attended=0
JobFolder=C:\OurPDFDocs\%QueueName%\%UserName%
JobColorTable=Default
MarksFileName1=None
MarksFileName2=None
JobDeleteOnFinish=0
LogDeleteOnFinish=0
JobOutputFormat=1,pdfwrite
JobInterpreter=GPL Ghostscript 8.63
QueueType=0
AutoPrefixUserName=0
PromptForFileName=0
ProperCaseFileNames=0
OptimizerAutoExpandMedia=1
OptimizerAutoMergeSpotPlates=1
Known problems
Most applications on Windows sends document names to the spool queue according to the syntax <Application Name> - <Document Name>. Grafikhuset Publi PDF 1.50.0284 or older automatically filter the »<Application Name> -« part of that name and uses only the <Document Name> part of this name when it applies a file name. Under certain circumstances this automatic filtering filtered too much and devastated the resulting name — in few cases seriously enough to prevent the job from converting as expected.
Grafikhuset Publi PDF revisions 1.50.0286 or later implements a new File Naming Filter option that completely fix this problem.
Last revised: 16-01-2009.