InterFormNG2 is delivered with a lot of predefined variables, that you can refer to as any of the user defined variables.
It is highly recommended not to create user defined variables with the same name as the predefined variables, but you can use the predefined variables to :
1.Force a specific setting for the output of InterFormNG2
2.To retrieve the final file name of an output file, that might be changed due to the File name Conflict Strategy. This is found afterwards in the variable, interform.plugin.archiver.fileName
3.The predefined variables also include attributes of the input files and input spooled files, that you can then use in either workflows or templates.
The predefined variables are divided into these sections: (Some sections might not be shown in a specific workflow).
2.Output
3.E-mail
4.Printing
12.Logging
13.Infor IDM
14.Nextway Next
These variables contains information of the input file, that triggered the workflow:
Variable |
Description |
interform.input.file.name |
Filename relative to starting directory |
interform.input.file.name.ext.single |
File extension |
interform.input.file.name.noext.single |
File name without extension |
interform.input.file.onlyname |
File name with no leading paths |
interform.input.file.onlyname.noext.single |
File name with no leading paths and no extension |
interform.input.file.path |
File path |
interform.input.file.absolute.path |
Absolute file path |
interform.input.file.size |
File size in bytes |
interform.input.file.modified |
Last modified date |
These variables are used for setting the output. The actual file name might be different, than interform.plugin.archiver.fileName depending on the file naming conflict strategy set, but the actual file name can be retrieved afterwards in the workflow.
Variable |
Description |
interform.plugin.archiver.fileName |
Output filename |
interform.plugin.archiver.folderName |
Output path |
interformng.output.conflictResolution |
|
interformng.mimeType |
Payload MIME type |
renderer.page.last |
Number of pages in output document |
interformng.remoteoutput.location |
Location id for target remote client |
Variable |
Description |
interformng.emailServerName |
Selected e-mail server |
email.subject |
E-mail subject |
email.from |
E-mail 'from' address |
email.to |
E-mail 'to' addresses |
email.cc |
E-mail 'cc' addresses |
email.bcc |
E-mail 'bcc' addresses |
email.replyTo |
E-mail 'replyto' address |
interformng.emailReturnReceiptTo |
This sets the email header Disposition-Notification-To. Please note that MANY email clients ignore this, including gmail. In outlook users can choose to ignore the receipt. |
interformng.emailTemplate |
Mail template for e-mail message |
interformng.attachmentName |
Attachment filename |
interformng.urlAttachment |
URL of attachment |
Variable |
Description |
interform.destination.printer.printerName |
Name of the registered printer, that you want to use. |
interform.ippURI |
URI (Link) used for unregistered printers connected via Internet Printing Protocol (IPP) |
interform.ippJobName |
Sets the job name for IPP print |
interform.ippJobUsername |
Sets the user name for IPP print. |
interform.ippUsername |
User name used for unregistered printers connected via Internet Printing Protocol (IPP) |
interform.ippPassword |
Password used for unregistered printers connected via Internet Printing Protocol (IPP). |
interform.ippPasswordProtect |
Sets password/pincode protecting IPP print |
interform.mimeType |
Sets the mime type of the print output for unregistered printers. Works like the set MIME type workflow component. Possible values are: x-application/zpl, application/vnd.hp-PCL, x-application/direct-protocol, application/pdf, application/javaprint. |
interformng.papertype |
Paper type to use for drawer/tray selection. |
interformng.printstyle |
Sets the simplex/duplex option for PCL print out. Possible values are: simplex, duplex-short, duplex-long. (The duplex options refer to either short or long edge binding). |
interform.printerAddress |
The IP-address (or DNS name) of the unregistered printer. |
interformng.printerResolution |
Printer resolution. The resolution (DPI) of the unregistered printer. |
interformng.shareName |
LPD printer share name of the unregistered printer. |
interform.destination.printer.copies |
Number of copies to print |
interform.destination.printer.pcl.pcl |
Extra PCL commands |
interform.destination.printer.pcl.pjl |
Extra PJL commands |
interform.as400.outputQueue |
The output queue on which the merged spooled file is to be placed on the IBM i for unregistered printers. Selecting the printer via interform.as400.outputQueue and interform.as400.outputQueueLib is only supported if you have a license for InterFormNG, that supports unlimited number of printers. (For the IBM i platform only) |
interform.as400.outputQueueLib |
Refer to interform.as400.outputQueue above for information. (For the IBM i platform only) |
interform.as400.holdFile |
Decides if the merged spooled file should be held (not printed directly). This is default *NO, but you can also set it to *YES to create spooled file with status *HELD. (For the IBM i platform only, if you print to an output queue / OS printer). |
interform.as400.saveFile |
Sets the value of the save attribute of the spooled file. Default is *NO. If set to *YES, the spooled file will be kept on the IBM i with status *SAVE after printing it out. If *NO the spooled file will be deleted after being printed. (For the IBM i platform only, if you print to an output queue / OS printer). |
interform.as400.userData |
Sets the user data field (USRDTA) of the merged spooled file. Default value is blanks (empty). (For the IBM i platform only, if you print to an output queue / OS printer). |
interform.as400.userDefinedData |
Sets the user defined data field (USRDFNDTA) of the merged spooled file. Default value is blanks (empty). (For the IBM i platform only, if you print to an output queue / OS printer). |
interform.as400.spoolFileName |
Sets the spooled file name (FILE) of the merged spooled file. Default value is DFTPRTF. (For the IBM i platform only, if you print to an output queue / OS printer). |
interform.as400.formType |
Sets the form type (FORMTYPE) of the merged spooled file. Default value is *STD. (For the IBM i platform only, if you print to an output queue / OS printer). |
interform.as400.copies |
Sets the number of copies (COPIES) of the merged spooled file. Default value is 1. (For the IBM i platform only, if you print to an output queue / OS printer). |
interform.as400.outputPriority |
Sets the output priority (OUTPTY) of the merged spooled file. Default value is 5. Spooled files with a lower number for the priority are listed and printed before spooled files with a higher number for the OUTPTY parameter. (For the IBM i platform only, if you print to an output queue / OS printer). |
printerSocket.timeout |
Sets a time-out value for printer communication in seconds for socket printing. If you e.g. set this to 20, then InterFormNG2 will stop waiting for a response from a printer after 20 seconds. The default value is forever - this is however limited by the network cards and/or operating system. |
printer.smbDomain |
The domain for an unregistered smb connected printer. |
printer.smbPassword |
The password for the user Id below for an unregistered printer connected via smb. |
printer.smbUsername |
The user Id (matching the password in printer.smbPassword) for an unregistered printer connected vis smb. |
printer.uncPath |
The unc path to the unregistered printer, that is connected to as an unregistered smb printer. |
These variables sets the same printer settings for PCL output as you can setup on the advanced PCL settings on PCL compatible printers.
Variable |
Description |
pcl.includeStandardFonts |
If you set this to true(), then InterFormNG2 will include the standard fonts - even if they match a resident font on the printer. |
These variables sets the same printer settings for ZPL output as you can setup on the advanced ZPL settings on ZPL compatible printers.
Variable |
Description |
interformng.zpl.includeLabelWidth |
If you set this to true(), then InterFormNG2 will include the label width (as set on the page element in the template) in the ZPLII print output, if this variable is set to true. This is NOT recommended, but has been introduced to help customers with Zebra Link OS Mobile printers including the iMZ Series, ZQ500 Series and QLn Series to cover the requirement as stated here. You can also use this on smaller printers like e.g. Zebra GX430T, ZD230 and Zebra ZD500 where you can use this to write the label width (set in the InterFormNG2 template) into the printer settings instead of manually setting the label width on the printer. |
interform.destination.printer.zebra.darkness |
With this you can set the relative darkness of the ZPL print out. The value must be in the range from -30 to +30. A negative value makes the printed output lighter than the normal output and a positive value makes the output darker. Warning: Please notice that using a high value for the darkness makes the printer head warmer and a very high value may damage the printer head. This can also be setup on the Zebra printer settings. |
interform.destination.printer.zebra.oldEngine |
true/false - Default false. If true the old ZPL renderer (prior to version 3.4.0) is used. |
interform.destination.printer.zebra.printSpeed |
This sets the printing speed in Inches Per Second on the Zebra printer. Values in the range from 2 to 12 can be used. Please notice that the printing speed also needs to be supported by the printer. This can also be setup on the Zebra printer settings. |
interform.destination.printer.zebra.startWithFonts |
If true the print will first upload the font before rendering any pages. Used on some Datamax printers. |
zplUseDirectImage |
true/false - Disables upload of images and uses pixelmaps instead. Potentially this can also potentially improve the performance of the printer if the connection is fast: The print data stream will become larger, but the images are easier/faster to process in the printer. |
zplRenderTextAsImage |
true/false - Renders text as images instead of using a font. all text is rendered as images. This is a fall back for printers not supporting font uploads that wants dynamic fonts. |
zplAllowColorImages |
true/false - Uploads images as color images instead of black and white. If true, the images are not reduced to B/W images. Some Epson printers supports printing of color images. (PLEASE NOTE THAT THIS IS UNTESTED, SINCE WE DON’T HAVE AN EPSON PRINTER WITH COLOR SUPPORT) |
zplUseFontIdentifiers |
true/false - Uses font identifiers instead of font name in print. |
zplNoFontUpload |
true/false - Disables upload of fonts to the printer. |
These variables can force InterFormNG2 to render specific barcodes as images in the ZPL output (if e.g. the printer does not support the barcode type).
Default value is false, which does not render the barcode as an image.
Variable |
Description |
zplBarcodeCode128Image |
true/false |
zplBarcodeInterleaved2of5Image |
true/false |
zplBarcodeCode39Image |
true/false |
zplBarcodeEan13Image |
true/false |
zplBarcodeEan8Image |
true/false |
zplBarcodeUPCAImage |
true/false |
zplBarcodeUPCEImage |
true/false |
zplBarcodePDF417Image |
true/false |
zplBarcodeMaxicodeImage |
true/false |
zplBarcodeUSPSImage |
true/false |
zplBarcodePostnetImage |
true/false |
zplBarcodeGS1DatabarImage |
true/false |
zplBarcodeDatamatrixImage |
true/false |
zplBarcodeGS1Image |
true/false |
These variables contains the attributes of the input spooled file for workflows, that are monitoring an output queue on the IBM i platform. Variables related to the attributes of a merged spooled file are listed in the Printing section above.
Variable |
Description |
interform.input.spooled.system |
The system where the file was created |
interform.input.spooled.created |
The date the file was opened (CYYMMDD) |
interform.input.spooled.jobName |
The name of the job that created the file |
interform.input.spooled.user |
The name of the user that created the file |
interform.input.spooled.jobNbr |
The number of the job that created the file |
interform.input.spooled.splf |
The spooled file name |
interform.input.spooled.splfNbr |
The spooled file number |
interform.input.spooled.outq |
Output queue, where the spooled file is placed |
interform.input.spooled.outqLib |
Output queue library |
interform.input.spooled.formtype |
The formtype of the input spooled file |
interform.input.spooled.pgm |
The program that opened/created the spooled file |
interform.input.spooled.pgmLib |
Library of the program that opened/created the spooled file |
interform.input.spooled.devFile |
The name of the printer file |
interform.input.spooled.devLib |
Library of the printer file |
interform.input.spooled.userData |
The user-specified data field (USRDTA) of the input spooled file |
interform.input.spooled.usrDefData |
The user defined data field (USRDFNDTA) of the input spooled file. This value can also be found via the attribute: //@usrDefData. |
interform.input.spooled.copies |
The total number of copies to be printed (copies attribute) |
interform.input.spooled.sourceDrawer |
The printer paper drawer/tray to use in the input spooled file (DRAWER attribute). |
interform.input.spooled.startPage |
The starting page to print from (Pagerange attribute) |
interform.input.spooled.endPage |
The last page to print (Pagerange attribute) |
interform.input.spooled.totalPages |
The total number of pages in the input spooled file |
interform.input.spooled.pageWidth |
The width of a spooled file page |
interform.input.spooled.pageLength |
The length of a spooled file page |
interform.input.spooled.saveAfterWritten |
If the file is to be kept on the output queue after it is written (Save attribute). |
interform.input.spooled.crtDate |
The creation date of the file |
interform.input.spooled.crtTime |
The creation time of the file |
interform.spooled.groupName |
Group name after split |
Predefined variables e.g. used for setting normal PDF attributes as seen on the properties of the final PDF file.
pdf.information.author |
The author attribute. |
pdf.information.title |
The title of the PDF file. |
pdf.information.subject |
The subject of the PDF file. |
pdf.information.keywords |
Keywords of the PDF file. |
pdf.noStandardFontEmbed |
Option to substitute fonts with resident font instead of embedding them in order to reduce the PDF file size. If this option is set to true(), the PDF file is not PDF/A compatible, so such PDFs should not be used for long term archiving. |
If you set this workflow variable to a specific resolution e.g. 144 before generating the PDF output, then included images will be inserted in the PDF output with this resolution. The advantage can be seen if you use large images in your template. Without this setting the size of the PDF file will reflect the size of the included images, but with this the PDF file size can be reduced. |
Predefined variables used by advanced PDF functions like e.g. PDF digital signatures, encrytion and password protection, embedding in PDF, InterSigning module and ZugFeRD output.
pdfCertificate.fileName |
Certificate file for signing |
pdfCertificate.alias |
Certificate alias |
pdfCertificate.password |
Certificate password |
pdfProtection.ownerPassword |
PDF protection owner password |
pdfProtection.userPassword |
PDF protection user password |
pdfProtection.restrict_edit |
Restrict PDF editing |
pdfProtection.restrict_copy |
Restrict PDF copying |
pdfProtection.restrict_print |
Restrict PDF printing |
pdf.zugferd.enabled |
Set true to embed files as ZUGFeRD XML |
pdf.zugferd.ConformanceLevel |
ZUGFeRD conformance level (default BASIC) |
pdf.zugferd.documentType |
ZUGFeRD document type (default INVOICE) |
interformng.pdfPaperClip |
interformng.pdfPaperClip |
interformng.xmlSchema |
XSL schema for validation |
interformng.validationrules |
Resource for rule-based validation |
RuleValidationOutcome |
Outcome of rule-based validation |
RuleValidationReport |
XML report from rule-based validation |
interformng.stylesheet |
XSL stylesheet to apply |
interformng.xent.fileName |
XENT file to apply |
com.interform400.xml.Template |
Template resource for document |
interformng.delayQueue |
Target e-mail delay queue |
interformng.delayQueue.cancelKey |
Cancel key on delay queue |
interform.workflow.name |
The name of the workflow, that currently runs. |
interform.log.info |
This is the predefined variable, that is set in the workflow with the component, Log info key |
interform.log.info2 |
If you assign a value to this variable in the workflow, then this value are searchable in the job logs. |
interform.log.info3 |
If you assign a value to this variable in the workflow, then this value are searchable in the job logs. |
interform.log.disableJobLog |
Disables the job log for the current job if the value is true. An example of use is found here. |
interformng.idm.pid |
The returned PID from the To Infor Document Management workflow component is saved as the predefined workflow variable: interformng.idm.pid |
interformng.idm.info.xml |
The returned metadata from the To Infor Document Management workflow component is saved as the predefined workflow variable: interformng.idm.info.xml |
interform.nextway.document.id |
The document ID is saved into the workflow variable, interform.nextway.document.id after successful upload to Next. |