Top  Previous  Next

The server is configured via the uf100d.ini file, which can be edited with any text editor.  In addition, the browser-based Server Manager offers configuration access to most configuration parameters.


In addition to these items, you can also configure access to Ghostscript, Image Magick, or Image Alchemy elsewhere in the uf100d.ini file.


In the defaults and security sections, here are the values available:


[defaults] section


Sets the primary listing TCP/IP port to n.  The default is 27390.  Note that if you use NAT translation or if you have a firewall between the clients and server, then this port (along with the procports defined below) must be configured to allow clients access.


Sets the name of the server's log file to path.  By default, it is stored in the UnForm directory.  Standard log entries include connection information.  Detailed logging includes verbose data transactions.


Set n to 0 for standard logging, 1 for detailed logging.  You should not leave detailed logging enabled for normal use, as the log file can grow very large.


Set n to the number of seconds that a connection can remain idle before closing.  The default value is 3600, or one hour.  Setting this value to 0 will avoid timeout-based disconnects.  This value primarily affects designer connections, which can remain active for long periods.


This value sets the maximum age, in days, of job log entries.  When jobs are submitted, basic job information is kept in a log file.  If errors were recorded, the error file also remains in the temp directory under the UnForm server.  After this many days, the files and log entries are automatically removed.  A fraction of a day can be supplied, such as age=.25 for 6 hours.


This value is also used for purging unprocessed jobs in the 'rpq' directory, which receives incoming TCP/IP print streams as well as asynchronous client submissions.


This value is also used for purging search result sets generated by the archive browser interface.


This value sets the maximum age, in days, of ./temp/tmp files, which is the default directory for work files.  A fraction of a day can be supplied, such as age=.25 for 6 hours.


Sets the default rule file to path, used for jobs that do not specify a rule file on the command line.


If the bbxread() function is used, this value points to the BBx executable that is invoked when required, such as /usr/lib/basis/pro5/pro5.


Sets directory paths that are automatically searched for rule files, images, and attachments.  By default, UnForm searches the UnForm directory and also supports full paths.


Sets the default host IP address or name of the Windows Support Server.  In addition, the sshost() function can be used in a code block to specify the host and port at run-time.


Sets the default port to connect to the Windows Support Server on the host specified by sshost.


Sets the Support Server timeout value, which determines how long an UnForm job will wait for a response from the Support Server before logging an error and continuing the job.  Set to -1 for an infinite timeout.


Images that are converted by an external conversion program or by the Windows Support Server are cached by default.  The last date an image is used is also stored, and images that have not been used in days days are removed automatically.


Sets the name of the style sheet used by the archive browser interface programs.  A file called "default.css" is provided with the server installation (found in the web/en-us directory).  This style sheet is also used when archives are exported to static HTML structures.


An initial block is tested for each job in order to determine if the job contains binary data or text data.  The size of this block defaults to 8196 bytes, but you can adjust it to any integer value with this entry.  The minimum value is 1024.


Controls default handling for embedded carriage return (chr(13)) characters in lines read from the input stream.  This value may be overridden with the –cr command line option.


0 will truncate lines at the first CR.
1 will strip CR character, so the line continues as if the character were not present.
2 will fold lines, and non-space characters are placed in the line buffer, simulating an overstrike.
3 will fold lines and insert an extra space, which accommodates Windows Generic/Text Only printers that overstrike conflicting characters.


If set to 1, the next start of the uf100d server will attempt to repair certain control files, such as the job history database and user table.  Use this feature if you suspect corruption in one of these files.  It should normally be set to 0.


The number of times a job received on a direct TCP/IP port will be retried if a non-license (998) error occurs.  As an example, if a network printer goes down and UnForm returns errors trying to open the output device (-o devicename), this sets the maximum number of times the job will be submitted by the port sweeper.  The sweeper runs each time a job is submitted and every 5 seconds when idle.


Setting this value to a reasonable number allows for temporary problems to be self-corrected without causing an unlimited number of log and error files to build up due to a configuration issue.


To release jobs once a problem is corrected, manually remove the *.rty file(s) from the rpq directory.


Sets the default PDF transparency setting.  If 1, then PDF files will use transparency.


Sets the default behavior on generation of the textjob$[all] array, which is a collection of all print lines for the job.  This array can be useful when performing report mining operations, or parsing a full job into pages in a prejob code block, but when large print streams are processed, a significant amount of memory and CPU resources are consumed generating the array.  The -textjob, -notextjob command line options override this setting.

errnotify=email address


If an error occurs while running a job, messages are written to a job number error file (temp/jobno.err).  This file remains on disk for a configured amount of time, typically seven days.  You can configure an email address (or multiple emails separated by commas) to have the server send the contents of these error files to an administrator, reducing the need to proactively monitor for errors.


Only jobs that encounter runtime errors trigger mailing.  Errors in jobs being tested in the design tool are not sent.  Also, some errors can occur only on the client side, such as an invalid server address.  In those cases, the server is unaware of the error and no message will be sent.  Such errors need to be captured via client error handling.


The subject specified may include a tag "@jobid" to reference the job number, which can be helpful to cross reference back to a rule file and rule set by locating the "Job complete" message in the server log file.


If an error occurs while emailing, a message is logged in the server's log file (logs/  This feature depends on having email sending properly configured.

expnotify=email address

If UnForm is licensed as a rental, then this address is used to notify an administrator if the license expires.  Rental licenses have a 10 day grace period, and during that period expiration messages are logged, plus an email is sent to this address and, as long as an email server is configured in the server manager.


If set to 1, the server listens on a secure (SSL) socket.  All client connections, including Image Manager connections, must be configured to connect using SSL.  The uf100c command line can also contain a -ssl option to connect using SSL.


If this is set to 1, and the [apache] section has sslcert and sslkey values defined, then the certificate configuration used for Apache is also used by the client listener.  Otherwise, a self-signed certificate is used.


The desktop delivery browser normally monitors for new activity using a low-overhead HTTP request to the regular printing port, rather than the HTTP port.  If ssl is turned on and the default self-signed certificate is used, then desktop deliver can encounter problems due to the delivery browser interface not accepting the certificate for the printing port.


In such a case, you can set dtrest=1 to force the delivery browser to use the REST interface with the standard HTTP port.  This can help in cases where the browser interface runs without ssl.  The REST interface is not as efficient as the above method, but is suitable for modest numbers of delivery browsers actively polling the server.



Default to the alternate AFO word parsing algorithm.


If set to 1, AFO jobs and Image Manager OCR parsing relies on the word order provided by Ghostscript or Mutool, rather than attempting to sort words into top-down, left-to-right order.


If set to 2, AFO jobs and Image Manager OCR parsing uses a center-range algorithm to allocate rows, rather than the default bottom-rounding algorithm.


This option was added in 9.0.04.


Sets the interval used by the server to check for rpq job submissions, which come in via the tcp/ip monitor or jobs submitted by uf100c with the -async option.  At each interval, the server checks to see if there are rpq jobs and runs the sweeper if any jobs are present and the sweeper is not currently running.  The minimum and default value is 5.


When releasing jobs from rpq, the sweeper stops after this many jobs have been successfully submitted.  Other jobs wait in the queue for the next sweep interval.  This setting, along with rpqinterval, can be used to adjust how large numbers of jobs are released from the queue without overwhelming a system.  It is particularly useful with large or unlimited licenses.  If not set, all available jobs are processed.


Sets the default fitpage mode for auto-scaling of AFO input streams.  See -fitpage in command line options.  added in 9.0.24.


Days to retain image manager job history logs.


Days to retain history/* data, which stores inbound documents received by email and path monitors, and print files.  If set to 0, no history is created.


If set, this instance of UnForm will attempt to sync configured files from the server specified to the local system.  The purpose is to enable a primary server to provide rule files, image files, etc. to child servers in a load balancing or auto-failover setup, avoiding manual file management.  The process uses a uf100c client, so the server and port should specify the print client port rather than the http port (default is 27390.


On the primary server, there is a companion section in its uf100d.ini file, [syncfiles], that lists files or file wildcards.


Determines how often files are pulled from the 'syncfrom' server.


If set, this instance of UnForm will attempt to sync its delivery logs with the target server.  The logs will be named based on this machine's host name: deliver.yyyymmdd.hostname.csv.


Determines how often deliver log files are updated on the target server.


The number of inbound monitor tasks to start.  Each task monitors all inbound sources for new documents to parse.


This setting, if days is positive, will force purging of syslib library recover files older than this many days are removed.  This helps to keep disk usage down.  Syslib libraries are those used by Image Manager and DocFlow, for documents being managed by those modules.  Since these libraries are generally used to manage transient documents, there is no need to keep recover files older than the oldest active document, and those are purged automatically.  This setting goes further: even if the library contains documents older than this, the recover files are still purged, so a library rebuild, if ever necessary, would not include such documents.


On Linux, UnForm is usually configured to run as a user other than root.  This user is shown in the server log, and can be found as the UFUSER setting in /usr/bin/uf100d.  When UnForm is launched by root, such as at system boot time, it will attempt to switch both its user and group to this UFUSER name.  If you require a different group, and the user is a member of that group, you can define this setting, and UnForm will attempt to set the group to this value before switching the user.


Starting at 10.0.18, libssl and libcrypto shared libraries are included with the Linux runtime environment.  In cases where the system libraries are not compatible, set libssl=1 to enable runtime access to these standard libraries.


Starting at 10.0.19, set debug=1 to turn on print job debug mode by default (the same as the -debug uf100c option).  To override this at a job level, use the -nodebug uf100c option.


Starting at 10.0.19, set noirs=1 to globally turn off inline rule sets.

[security] section


This is a semi-colon delimited list of valid IP addresses or wildcards that are allowed to connect to the server.  Note that the loopback address is always allowed to connect.  The default list is 192.*.*.*;10.*.*.*, which allows the two standard non-routable LAN spaces to work.


If set to 1, the Design Tool will will encrypt rule files when saved.  The login is restricted to a user who is either an administrator or has been granted Design Tool access via the user maintenance features of the archive web browser interface.


Rule files saved or published in encrypted format can be read by any UnForm 10.0 server, regardless of its designer security setting, but can only be edited by the design tool.


If set to 0, rule files are maintained as text files, which can be edited using any text editor as well as the design tool.


Note this setting replaces the 'designer=n' option of previous releases, which also forced a login from the design tool.  The design tool in version 10.0 is browser-based and always requires a login.



This establishes a shared-secret value between the server and client(s) on the standard (non-http) port.  Client connects must be configured in uf100c.ini or via the uf100c command line to specify a matching authkey value.  If connections arrive with a missing or mismatched value, an error 996 results.

[tcpports] section


Each line defines a port on which the server listens for raw print job deliveries, such as from Windows TCP/IP ports.  Each job submission is then processed using a uf100c command line configured with a pre-defined -ix option plus any other options defined.  For more information, see the TCP/IP Monitor chapter.

[webprinters] section

name=options [;description]

Each line defines a printer available to the Web Extension, which can submit PDF files to the printer.  This enables AFO printing directly from a compatible web browser, without the need to set up special printers at each browser machine.


When PDF files are submitted, a uf100c command line is run with the options specified, such as -f rulefile -o "device" .  An automatic -ix option is generated using the submitted file.  The web extension displays the device using the name and optional description.

[archive] section


Sets the default library name, for use when archive commands do not specify a library name.  This library will be placed under the default "arc" subdirectory below the UnForm server.


Specifies the maximum number of default keywords generated for UnForm job-based archives.  Default keywords are unique words generated from the job input stream that do not match patterns defined in the nonwords= file.  If this value is set to -1, then all unique words become keywords.  The benefit of this is that more words of job print streams are available for searching.  The cost is greater time spent parsing reports for words and additional disk space utilization.


Specifies a file which contains lines of regular expressions for "words" that should not become keywords.  See ufnonwords.txt for examples.


This is a list of characters that are removed from keywords.  The default list provided with UnForm is: <>{}[]()*=~`"'+|


This is a list of characters that are removed from the end of keywords.  For example, you may want to remove periods from the ends of words as a period typically ends a sentence.  The default list provided with UnForm is: .?!,;.


When archive searches are performed in the Web browser interface, work files are generated.  This sets the maximum number of days these files will remain on disk.


If you need to support multiple languages, or you wish to offer a customized user interface for archive browser users, you can copy the ./web/en-us directory to other ./web/* directories and customize them.  In particular, the messages.txt file and various html templates or style sheets can be customized.  This directory list (and associated name=title values in each messages.txt file) are presented in the browser login screen.


Set the number of hours a browser session can last before a login is required again.  By setting this to 0, browser users must login each time their web browser is re-started and the web interface is accessed.  Set it to a large number to allow users to login once per workstation and have that login remembered.


Sets the default permissions on new libraries.  Set to zero or more semi-colon delimited letters, r, w, and d for read, write, and delete.  For example, defperm=r;w for default read and write, or defperm=r for just read only, or defperm= for no default permission, meaning only administrator logins can access the library initially.

defseq=0 or 1

Sets the default Force Sequence on Sub ID flag value for new libraries.  If set to 1, then sub ID’s are auto-sequenced to prevent overwriting.


In the browser interface, when images are consolidated into a single PDF, a file name is suggested when the PDF file is saved or an attachment is emailed.  This value forms a pattern, with an asterisk positioned to indicate where unique sequencing can be applied.  Use this to identify a company, such as SDSI.Document.*.pdf, so when an email recipient receives an email, the attachment name will be readily identifiable.


If this line is enabled, then the browser interface will display a menu entry to launch the desktop delivery browser client.


If set to 1, the browser interface will allow users to email their login and password to themselves, and can change their own password.







These entries provide session defaults for the browser interface.  The ses_notext value can be used to turn off @text images when browsing.  ses_mailfrom provides a default From address when emailing consolidated documents.  ses_tiftopdf and ses_imgtopdf enable TIF or all images to be converted to PDF before viewing in the browser.  This capability requires that Image Magick be configured on the UnForm server or in the Windows Support Server.  The ses_hidexml value will suppress xml images when browsing.  The ses_pdfjs value can turn on the PDF.js viewing engine, a customized version of that tool that supports PDF hyperlinks that are embedded in UnForm generated PDF files in some integrations.


Sets the logo to be used as an icon in the browser interface.  This should be a small, square image.  The default is "unform.gif", which is found in the web/en-us directory.


Sets the title for the browser window, which most browsers display as a tab title.  The default title is "UnForm Document Archiving".


Enable fax tabs in the browser interface.  Fax submissions rely on the deliver() function, so faxing must be configured in the deliver.ini file for this functionality to work.


When faxing is enabled, this provides a list of one or more cover page names that are acceptable for use with the deliver command's configured faxing product.  For example, msfax users could rely on the "generic" cover definition by specifying faxcover=generic.  The browser interface offers a choice of no cover, plus any cover names defined here.  Multiple names are delimited with commas.


If set to 1, any updates to document categories will set any mid-segment null values to a space.  Null value segments are considered the end of a segment list by the browser interface and library object, so doing this enables "null" segments to be accessed.



The default archive server, where archive libraries reside.  This is useful in cases where a disaster recovery or load balancing server is used.  Documents are generated by the local server, but sent to the archive server for storage.  In most cases, this should be set to the same value as the [default] section's 'syncfrom' value.


Each time a job with an archive command runs, it launches a sweep task to update libraries (or remote servers) with library files and data.  In addition, this setting controls how often an automated sweep process executes, in case there are errors in the job-specific execution.


This is used as a mapping URL in DocFlow related documents.  Geolocation data can be captured when an image is signed/annotated, and the saved information can include a link to the location.  It will use url value, substituting %lat and %long tags with latitude and longitude values.


Enables inclusion of the Workflow ICE tool on the browser interface Admin menu.  This tool is deprecated in favor of DocFlow, but available for existing Workflow users.

[mailcall] section


The mailcall section can be used to define mailcall values not available in the email command and email() code block function, such as timeout or bodymime, or to provide a default setting if the command or function doesn’t supply a value (or supplies a null value).  Any options not set in an email command or function will be filled in with values in this section.


For example, if you want a bcc sent to a local support account by default, add a line that says bcc=email address.  Or, if you find that the default timeout of 30 seconds isn’t enough time for a slow internet connection, add a line like timeout=60.


This section can contain a list of files or wildcards, one per line, that are sent to child servers that have a [defaults] section syncfrom= setting.  The child servers connect to this server and request a list of files.  The list includes full pathnames and content hashes.  Any changed files are then retrieved by the client from this server.


The intent of this section is to provide a list of files that are necessary for printing, generally rule files and their dependencies, such as merge files, image files, overlay and attachment files, and so on.  These files can be maintained on a primary server, and the child servers can automatically retrieve new versions of those files on a regular schedule.

[httpd] section - no longer used (see Configuring Apache)



Note also many parameters are stored in the ufparam.txt file.  You can create a custom version of this file, called ufparam.txc, which will be used instead of ufparam.txt.  Any new parameters that are added during a release cycle are documented in the readme.txt file, and can be added manually to keep ufparam.txc up to date if necessary.


Of particular interest in ufparam.txc is the font configuration.  All fonts are assigned a numeric ID.  Those that are common in pcl5 printers have pre-assigned values from HP, while soft fonts can be given user-defined numeric IDs.  These name=number pairs are defined in the [fonts] section.  ID numbers can then be assigned to soft font names in the [psmap] and [ttmap] sections, or mapped to PDF base fonts in the [pdfmap] section.  See the standard ufparam.txt file for examples and notes.


When UnForm processes a text or font command, it attempts to match a named option with a font name in the [fonts] section, and it then uses the associated font number.  Alternatively, the text or font command can identify the font number directly, with a font n option.


Once a number is identified, UnForm then looks for a native soft font definition, depending on the output format.  It looks in the [softfont] section for pcl5 output, or the [psmap] section for postscript output, or the [pdfmap] section for mapping to an internal PDF base font.  If no match is found, then the [ttmap] section is scanned for a match, and the associated TrueType soft font is embedded in the output and used.


An example of mapping a True Type font would look like this:








In the [fonts] section is a name=number pair.  The number is user-defined and must not conflict with the various fixed PCL font numbers found in the section.  The [ttmap] section contains a number=font(s), where a list of font file names (without the .ttf extension) is provided for normal, bold, italic, and bold-italic versions of the font.  Note that not all fonts provide all these versions.  True Type font files are found in the ./ttfont directory, or on Windows in the %windir%\fonts directory, or can be specified as full path names.