FabSoft Desktop Automation Driver

From FabSoft
Jump to: navigation, search

Contents

Description

This printer driver will allow a user to quickly identify documents by mapping, classifying, and routing them automatically in minutes. Once the quick learning is completed, the next time the document is printed to this special driver it will automatically follow the learned process.

This printer driver has two different modes:

  1. When the printed document uses the same layout with different information for example an invoice, an invoice might have different customer information but generally the same format. In order to use this mode the user would print to the FabSoft Universal Printer and would then need to identify information on the document that will be used to determine the workflow.
  2. When the format is different but it needs to go to the same workflow such as email or fax. This mode will typically ask the user questions such as email address etc. so the email system would know who to send it to. To use this mode, you would need to create a virtual printer from the system tray menu.

Requirements

The FabSoft Universal Printer Driver is compatible on the following operating systems.

Windows Workstations Windows 8 / 10
Windows Servers Windows Server 2012 / 2016 / 2019
Terminal server / printer redirection is also supported

Installation

The latest download can be found on the product page. [Click Here]

Tutorial

After the FabSoft Universal Printer Driver is installed, you can create a new workflow by printing any document to it.

  1. Open the document you wish to print. For this tutorial, we'll be using Sample.rtf in Wordpad.
    Download "Sample.rtf"
  2. Print the document to the FabSoft Universal Printer.
  3. You will be prompted to begin the quick learning process.
    • The quick learning process is a step by step guide which allows you to configure your workflow. You will first be asked to select a workflow type, using the Workflow Selection.
  4. For this tutorial, we'll want to select XML, then click Select.
  5. You will be prompted to enter a workflow description. We'll enter Demo Workflow as our description, then click Ok.
  6. You will now be prompted to enter different workflow properties.
  7. Click the gear icon 2019-09-09 11-34-22.png next to Document Identifier.
  8. Click Select a Field from the Document as the Key.
  9. The next screen will show you a text only version of the printed document. Click and hold to create a box around the text Quotation For. When the box around the text turns green, that means the text has been properly selected. This will be the text we use to identify this type of document. This means that any documents which are printed to the FabSoft Universal Printer which contain the words "Quotation For" in that area will run through this workflow.
  10. Click the gear icon 2019-09-09 11-34-22.png next to Output File Type, then select Create a PDF document.
  11. You can change the PDF options as needed, but for this tutorial we will keep the defaults. Click Select to continue.
  12. Click the gear icon 2019-09-09 11-34-22.png next to Directory. Make sure Single Value (Default) is selected, then click Ok.
    Note: The other option, "Concatenate Values" allows you to combine different things to generate both the output directory and the file name. For this tutorial, we will stick with "Single Value".
  13. Select an output directory where the PDF files will be stored. For the tutorial, we'll use C:\tmp\.
  14. Click the gear icon 2019-09-09 11-34-22.png next to File Name.
  15. Make sure Single Value (Default) is selected, then click Ok.
  16. You are given several options for setting the file name (Static Text, Dynamic Value, Document Text). For this tutorial, we'll use Document Text. This will allow you to select data from the document to use as the file name. Click the Select a Field from the Document button under Document Text to continue.
  17. The next screen will show you a text only version of the printed document. Here, you can select text that will be used for the PDF file name. For this tutorial, we'll draw a box around the quote number. Once you have selected the text, click Finish.
    Vmconnect 2019-09-10 09-44-39.png
  18. The workflow at this moment will create a PDF and XML document next to each other in the location specified. The XML file will contain the document path (as this is most commonly needed). To add additional information about the document into the XML file, click the Add Field near the top of the window.
  19. For this tutorial, we'll add the company name as an additional field in the XML file. Name this new field CompanyName, then click Ok.
  20. Click the Select a Field from the Document button under "Document Text" to continue.
  21. Draw a box around the company name "XYZ Corporation". When the box around the text turns green, that means the text has been properly selected. Click 'Select.
    Vmconnect 2019-09-18 14-15-03.png
  22. You can add as many additional fields as you'd like. Once you finished, click Finish.


The workflow setup is now complete, and the original document will have now been processed through the FabSoft Universal Printer driver. In the tutorial, we designated C:\tmp\ as our output folder. Navigating to that directory, we can see both our PDF and XML files have been created and named after the Quote # like we specified.

Vmconnect 2019-09-18 14-58-35.png

Inside the XML file, there is standard XML boilerplate, along with a "Document" field. This field contains the folder path of the corresponding PDF file. Additionally, there is also the CompanyName field we added during the workflow configuration, containing the value "XYZ Corporation".

<?xml version="1.0" encoding="utf-16"?>
<Document Path="C:\tmp\78456.pdf" Folder="C:\tmp\" Name="78456.pdf">
  <Field Name="CompanyName" Value="XYZ Corporation" />
</Document>

Export / Import a Workflow

Exporting a workflow allows it to become portable. You can copy the workflow file to another computer, or you can use it as backup and re-import the workflow on the same computer if needed. The exported workflow file contains all necessary information needed to re-create that workflow.

To export a workflow:

  1. Click on the FabSoft Universal Printer system tray icon Vmconnect 2019-09-18 16-40-42.png.
  2. Move the mouse over Workflows, then click Export Workflow.
  3. Select a worklow to export, then click Select.
  4. Choose a location to export the workflow to, then click Save.

To import a workflow:

  1. Click on the FabSoft Universal Printer system tray icon Vmconnect 2019-09-18 16-40-42.png.
  2. Move the mouse over Workflows, then click Import Workflow.
  3. Select a worklow file you want to import, then click Select.
  4. You will be asked if you want to import the workflow, click Yes.

Workflow Selection

The workflow selection window will show you all available workflow types.

UPD-Workflows.png

You will need to select one of the workflow types to continue the quick learning process.

  • Load an existing workflow
    • If you already have a workflow and want to apply it to the print job.
  • PDF / Image Only
    • If you only need either a PDF or an image file, with no other processes or metadata files.
  • Print Only
    • If you only require a routed print job, with no other processes or metadata files.
  • FabSoft Reform Archive
  • Reform Spooler file (FCL)
    • You can send data from the print driver to a Reform VDP workflow using this.
  • Meta data file formats
    • These files are generally output alongside a PDF or TIFF image, and contain various pieces of information about the print job.
      • XML
      • CSV
      • JSON
      • Square9

Additional Connector Information: RightFAX Connector

Accessing the Menu and Settings

To use or configure the FabSoft Software, you can click on the robot icon in the Taskbar (near your system's clock). If you do not see the icon, click the ^ button to see if it is hidden.

   UPD-TaskIconLocation2.png   UPD-TaskIconLocation1.png

If the icon is hidden and you would like it to always be visible, you can adjust your Windows taskbar settings:

1. Right-click on the ^ button and select 'Taskbar Settings'.

   UPD-TaskbarSettings.png

2. Click 'Select which icons appear on the taskbar' in the 'Notification Area' section.

   UPD-NotificationArea.png

3. Set 'FabSoft v4 Printer UI' to On.

   UPD-EnabledTaskbarIcons.png

Importing Existing Workflows

Workflow Configuration

Vmconnect 2019-05-09 16-57-15.png

Field Types

Each type of workflow may have its own specific fields that are used to configure and deliver the document. Below are some of the most common fields for a workflow.

UPD-Field List.png
  • Document Identifier
    This field is responsible for determining how a print job is routed to a workflow. There are two available methods for identifying documents:
    Job Title
    The name of title/name of the print job will be used for identifying a workflow. Any time the print job title matches, it will trigger the workflow.
    Document Text
    The contents of the print job will determine which workflow to use. This allows you select an area of the printed page as the field's value. Each time a print job is submitted, the value will change based on the print job's contents.
  • Output File Type
    This field is used to select one of the following output file types:
    • TIFF
    • PDF (vector)
    • PDF (raster)
    • XPS
    • WORD
    For more information, see the Outputs section.
  • Directory
    This field is used to select where the output file(s) will be saved to. You can select a single/unchanging folder, or you can use the advanced options to have a dynamic output path.
    When using the advanced (concatenate) option, you can select the output folder using the following one or more of the following choices:
    Dynamic Value
    Dynamic variables are based on the print job's properties (job title, user, computer name, date, etc.).
    Document Text
    This allows you to select an area of the printed page as the field's value. Each time a print job is submitted, the value will change based on the print job's contents.
    Static Text
    Static text is used when you would like to manually enter the desired value. The value will never change based on the print job's contents or properties.
  • File Name
    This field manages the name of the output file. Similar to the Directory field, you can select between Dynamic Value, Document Text, or Static Text. Values may also be concatenated using the advanced option.
  • Overwrite existing files
    This field manages how to save files in a directory where the filename already exists. If the field value is YES, then the workflow will overwrite existing files. If the value is NO, then a number will be appended to the output file name to ensure it does not overwrite any existing file.
  • Break Field
    If you need the print job to be separated and saved into multiple files, you can add a break field. This field allows you select an area of the printed page to use as a break field. If the value of the break field changes on one page from the next, the document will be split at that point. For example, you may want to place a break field over an invoice number to split invoices into separate PDF files.
  • Printer
    If you need the print job to be directed to a specific Windows printer, a printer and print settings can be configured.

Selection Types

When configuring a workflow, you will be prompted to choose between Static Text, Dynamic Value, and Document Text. Each of these behave very differently and have different use cases.

UPD-Selection Type.png

Static Text

Static text is used when you would like to manually enter the desired value. The value will never change based on the print job's contents or properties.

  • An example would be a folder path that you do not want to change, such as C:\Invoices\. Every time the workflow is processed, that same value will be used.
UPD-Static Dialog.png

Dynamic Variables

Use properties from the print job, such as the username of the print job owner, the date/time of the job, machine host name, etc.

  • Dynamic values are useful when you want to use a value that is not in the print data, and can change between each print job.
UPD-Dynamic Variables Dialog.png

Document Text Selection

  • Select an area on the document which you want to pull data from. Each time a print job is submitted, the value will change based on the print job's contents. Document Text may be obtained from the document's vector data, OCR (Optical Character Recognition), or Barcode Recognition.
UPD-TextSelection.png


Document Text Selection Tips

As every document and field is different, it is important to use best practices for the most reliable results. The approach used also depends on the method of capturing the data.

  • Be sure to capture the entire text desired. As it is possible for data to shift depending on the document, allow a little extra room if possible. However, if there is unwanted text nearby, be sure not to capture accidentally capture it. If necessary, use the Anchor Text and Anchor Zone to help achieve the desired result.
  • Scanned documents may shift depending on the precision of the scanner as well as the consistency of the person scanning. When possible, it is recommended to use the Anchor Text and Anchor Zone for the most reliable results.
  • Barcodes do not usually require the same precision as text. The barcode reading will not be affected by text captured next to the barcode. However, be sure to not capture nearby barcodes to avoid confusion.
Anchor Text and Anchor Zones

Anchors can be useful to capture document values that may shift on the document. Using an Anchor Text field will configure the field to follow specific text. For example, if the word "Date" is always next to the text that should be captured, an Anchor Text field can be added over the word "Date". If the word "Date" may appear on the document in multiple places, an Anchor Zone area can be added to limit where the software will look for the Anchor Text.

To add Anchor Text or Zone, change the "Selection Mode" drop-down to the desired setting. Then, highlight the document's area.

UPD-AnchorTextSelection.png

Single vs Concatenated Fields

When configuring some fields, you will be asked to select a field type of "Single Value" or "Concatenate Values". If you wish to change from one field type to the other, simply click the "Reset" button for that field and re-configure it.

  • Single Value = You will be able to enter one text value, select one variable, or select one area of the document to populate this field.
  • Concatenate Values = You will be able to enter several text values, variables, or areas of the document to populate this field. The values will then be concatenated for the final result. This is useful for building sentences, formatting values, creating folder paths, and gathering multiple pieces of information for a single field. See the Concatenating Multiple Fields section for more detail on how to configure multiple fields.
UPD-SingleVsConcatenated Fields Dialog.png

Concatenating Multiple Fields

When using Concatenated Fields, you can use as many values as needed. Using the "Add", "Remove" buttons you can adjust the fields used to create the result. Using the "Up" and "Down" buttons (or dragging) you can reorder the values as well. At the bottom of the screen is a preview of the final result.

UPD-Concatenating Multiple Fields Dialog.png

Document Identifier

Vmconnect 2019-05-09 17-00-33.png

When configuring a Document Identifier, you have the option of selecting a single value, or for a more advanced configuration you can choose multiple values. The values available consist of "Job Title", "Document Text", and "Exceptions".

  • Job Title - The title of the job being processed.
  • Document Text - A field from the printed document's pages.
  • Exceptions - When no other workflows match this document, it can be processed as an "Exception". Note: The "Exceptions" option is only available in "single value" mode.

When using Multiple values, the identifier can be configured to require all fields or any of the fields to match. In addition, the "Advanced Conditions" option allows further addition of values so that difficult to identify documents can be matched with very specific rules.

Document Identifier Mode

Supporting Page Identifier

Supporting Page Identifiers are similar in configuration to the "Document Text" fields of Document Identifiers.

Situations where Supporting Page Identifier can be used:

  • Documents with multiple page formats that require a Break Field - Break Fields will not split a document on a page identified by a "Supporting Page Identifier".
    • Sample Scenario: A print job with multiple invoices with multiple pages per invoice requires splitting. The format of the first page of each invoice does not match the rest. A Break Field can be configured on the Invoice number. To avoid splitting the document when the second page of an invoice is reached, the second page can be identified as a Supporting Page.
  • When the printer setting "Inspect every page of the print job to match it to a workflow" is enabled - Pages identified by a "Supporting Page Identifier" for the most recently found workflow will be processed with the previous pages.
    • Sample Scenario: A print job with multiple invoices and statements with multiple pages per each document requires splitting. The format of the first page of each invoice or statement does not match the rest. To avoid splitting the batch when the second page of an invoice or statement is reached, the second pages can be identified as a Supporting Page for their corresponding workflow.

Break Field

Break Fields are most useful when a job contains multiple documents that need to be split when a value in the document changes. If the value of the break field changes on one page from the next, the document will be split at that point. For example, you may want to place a break field over an invoice number to split the invoices into separate PDF files.

Cases where the Break Field is ignored:

  • The Break Field will not split a document on a page identified as a Supporting Page. See the Supporting Page Identifier for more information.
  • If an Anchor is defined for the Break Field - The Break Field will not split the document when the Anchor is not found on the page.


Sample Scenarios:

  • A batch of one page invoices are printed. Each invoice should be sent to a separate PDF file.
    • Using a single Break Field over the Invoice Number will split the document as needed.
  • A batch of multiple page invoices are printed. All pages of the invoice have the same format and the invoice number is always in the same position. Each invoice should be sent to a separate PDF file.
    • Using a single Break Field over the Invoice Number will split the document as needed.
  • A batch of multiple page invoices are printed. The first page of each invoice has a different layout than the additional pages. Each invoice should be sent to a separate PDF file.
    • Using a single Break Field over the Invoice Number with an Anchor over something unique to the first page of each invoice will split the document as needed.
  • A batch of multiple page invoices are printed. The first page of each invoice has a different layout than the additional pages however there is no viable option for an anchor field. Each invoice should be sent to a separate PDF file.
    • Using a single Break Field over the Invoice Number. In addition, configure the "Supporting Page Identifier" to accurately identify the remaining pages of the invoice. As the "Supporting Page Identifier" can have multiple complex rules defined, pages can be identified with precision. Each invoice will then be split the as needed.

Additional Data Sources

Additional Data Sources are available to use. These include querying external databases via ODBC or directly using the SQL Server connections. The "LDAP / Active Directory User Info" and "Environment Variables" sources can retrieve the current system and user details without the need for custom configurations. However if advanced or custom Domain details are required, they can also be queried via the "Advanced LDAP" source.

Enabling a data source will show additional entries in the "Dynamic Value" section for a field.

Data Source Configuration Environment Variables

Environment Variables include computer details, system directories, home folder information. To configure this source, simply check the box to enable it.

Data Source Configuration LDAP / Active Directory User Info

Active Directory User Info will retrieve common LDAP attributes for the current user. To configure this source, simply check the box to enable it. The LDAP attributes included are:

  • cn (Common Name)
  • sn (Surname)
  • c (Country)
  • l (Location)
  • st (Street)
  • title
  • description
  • postalCode
  • postOfficeBox
  • physicalDeliveryOfficeName
  • telephoneNumber
  • facsimileTelephoneNumber
  • givenName
  • initials
  • distinguishedName
  • displayName
  • co (Country)
  • department
  • company
  • streetAddress
  • mailNickname
  • wWWHomePage
  • name
  • homeDirectory
  • homeDrive
  • sAmAccountName (Username)
  • userPrincipalName (Username@Domain)
  • mail (Email Address)
  • manager
  • homePhone
  • mobile
  • pager

Data Source Configuration Shared Input

Configuring Shared Input can be useful for a few cases.

  • The first scenario is if you have a value that you wish to use in multiple fields of the workflow and want to make sure they are all identical. In this case, you can configure the field as a "Shared Input". Then, anywhere you wish to use that value, use the "Dynamic Variable" generated by this shared input. If the value in the shared input changes, all of the fields that use that value will also change.
  • Another scenario where shared input is useful is if there are multiple fields that use the same value and you wish to configure User Interaction. If User Interaction was enabled for each field separately, the user may be prompted multiple times for the same value. To avoid this, the value can be configured as a Shared Input and enable User Interaction there. In this scenario, the user will be prompted once, and that value will then be used for all fields that use that shared input.

Data Source Configuration ODBC

Data Source Configuration SQL Server

Data Source Configuration Advanced LDAP / Active Directory Query

Outputs

PDF
PDF Options
  • Methods:
    • Raster - The result is a PDF that contains images of the pages. The text is not searchable or selectable. The file size is usually larger than a vector PDF, however it will always match the original document exactly.
      • Color - Determines how many colors are in the resulting PDF. For a smaller resulting PDF, use a smaller number of colors.
      • DPI - Determines the dots-per-inch of the images in the resulting PDF. This can affect the clarity of the document. For a smaller resulting PDF, use a smaller DPI.
      • Quality - Determines the quality of the images in the resulting PDF. This can affect the clarity of the document. For a smaller resulting PDF, use a lower quality image.
      • Image Enhancements - Options for enhancing the images in the resulting PDF. These are typically helpful if the original document was captured from a scanner and may require centering, de-skewing/straightening, or noise removal.
    • Vector Engine 1 - The result is a PDF that contains searchable and selectable text. The file size is usually smaller than a raster PDF.
    • Vector Engine 2 - The result is a PDF that contains searchable and selectable text. The file size is usually smaller than a raster PDF.
  • PDF Properties
    • Author - Populates the Author in the Document Properties of the PDF.
    • Title - Populates the Title in the Document Properties of the PDF.
    • Subject - Populates the Subject in the Document Properties of the PDF.
    • Keywords - Populates the Keywords in the Document Properties of the PDF. Keywords of a PDF may be used in a search utility to locate the PDF.
    • Custom Properties - Populates the Custom Properties in the Document Properties of the PDF. You can add custom document properties that store metadata in a PDF. Properties you create must have unique names that do not appear in the other tabs in the Document Properties dialog box. They must not be one of the standard names: Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate, and Trapped.
TIFF
TIFF Options
  • Compression - Determines the compression method of the resulting images. The compressions 'CITT3' and 'CITT4' are typically best for Black & White documents (and they only support Black & White TIFF). The compressions 'LZW' and 'RLE' support Black & White, Gray, and Color TIFF. The compression 'None' creates an uncompressed image, which is usually exponentially larger than using any other compression.
  • Color - Determines how many colors are in the resulting TIFF. For a smaller resulting PDF, use a smaller number of colors.
  • DPI - Determines the dots-per-inch of the images in the resulting TIFF. This can affect the clarity of the document. For a smaller resulting TIFF, use a smaller DPI.
  • Image Enhancements - Options for enhancing the images in the resulting TIFF. These are typically helpful if the original document was captured from a scanner and may require centering, de-skewing/straightening, or noise removal.
WORD
XPS

Printer

Adding Fields

UPD-SingleVsConcatenated Fields Dialog.png

Workflow Properties

Workflow Property Modifiers

Date Modifier
Date Formats
RemoveChars Modifier
KeepChars Modifier
CharOffset Modifier
SplitText Modifier
Custom Code

Configuring Workflow Property Modifiers

User Interaction Prompt


Workflow Prompt Conditions
Configuring Workflow Prompt Conditions

Removing Fields

UPD-Remove Field.png

Resetting Fields

UPD-Reset Fields.png

Advanced Workflow Settings

Inspect All Pages

This feature allows every page to be inspected and assigned to a workflow. Processing batches of various documents can be automatically separated and processed as individual types of documents. As this setting is independent of the workflows, it is enabled at the printer level. You can access these from the "Driver Settings" menu in the system tray.

Inspect All Pages Selection

To train the system to separate different types of documents in a batch, a dialog will be displayed to select the first page of each document type. For example, if the document contains the pages below, pages 1, 5, and 8 would need to be selected. When configuring each workflow, a break field could then be used to separate the document based on order number. If necessary, any extra pages could also be defined as "Supporting Documents" if their layout does not match the first page and is not important to the workflow.

1. Invoice #001 Page 1
2. Invoice #001 Page 2
3. Invoice #002 Page 1
4. Invoice #002 Page 2
5. Purchase Order #004 Page 1
6. Purchase Order #004 Page 2
7. Purchase Order #004 Page 3
8. Invoice #003 Page 1
9. Invoice #003 Page 2
10. Invoice #003 Page 3

When configured properly, the documents can be processed as:

* Invoice #001 Page 1 - Invoice Workflow
* Invoice #001 Page 2 - Invoice Workflow
----
* Invoice #002 Page 1 - Invoice Workflow
* Invoice #002 Page 2 - Invoice Workflow
----
* Purchase Order #004 Page 1 - Purchase Order Workflow
* Purchase Order #004 Page 2 - Purchase Order Workflow
* Purchase Order #004 Page 3 - Purchase Order Workflow
----
* Invoice #003 Page 1 - Invoice Workflow
* Invoice #003 Page 2 - Invoice Workflow
* Invoice #003 Page 3 - Invoice Workflow

API

The FabSoft Universal Printer Driver (UPD) allows plugins to control how documents are delivered. In addition to providing the ability to intelligently route the document, methods are available to prompt the user for details, retrieve data from back-end systems, and update statuses repeatedly. Combining these features provide a user-friendly experience that is capable of simplifying complex tasks with great accuracy. API documentation and samples can be found at: [FabSoft UPD API]