Kofax Capture Developer's Guide
11
Chapter 1
Overview
The Kofax Capture Developer's Guide contains information about customizing your Kofax
Capture installation, including the following:
▪ Reasons to customize Kofax Capture
▪ How to customize Kofax Capture
▪ How to implement your custom Kofax Capture components
This guide assumes that you have a good understanding of Kofax Capture, Visual Basic or
Visual Studio, and COM interface tools.
Reasons to Customize Kofax Capture
Kofax Capture provides the solution to your business needs for converting forms and data to
a more useful electronic medium for data processing and archiving. However, you may also
want to customize a Kofax Capture process for a specific business task.
Some reasons to customize Kofax Capture:
▪ To streamline or bypass unnecessary processes. For example, there may be no need to
validate index data if the accuracy of the data exceeds a specified accuracy threshold
defined by your business policy.
▪ To assert additional processes.
▪ To customize the user interface for your business environment. For example, a validation
operator would need access only to certain functions or processes.
Because Kofax Capture is modular (composed of the Administration, Scan, Validation,
Verification, Quality Control, Export and other modules) you can customize a processing
module using the Kofax Capture API libraries provided with your product.
How to Customize Kofax Capture
To create and write custom applications and scripts for Kofax Capture, you can use tools
such as VB.NET, C++, or C#, which are included in all Visual Studio editions (Express,
Professional, Ultimate, and Premium). Softbridge Basic Language (SBL) is now deprecated
and will not be supported in future product releases. Therefore, we encourage you to use
Visual Studio and VB.NET for creating custom scripts.
API libraries, which are documented in the Kofax Capture API Reference and the Kofax Capture
Export Type Library API Reference, are available for you to create custom Kofax Capture
extensions.
You can access both API References in the following folder, which is available on your Kofax
Capture installation media:
Documentation\Help\APIRef
Pdf page size dimensions - Compress reduce PDF size in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
C# Code & .NET API to Compress & Decompress PDF Document
change font size on pdf text box; pdf reduce file size
Pdf page size dimensions - VB.NET PDF File Compress Library: Compress reduce PDF size in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET PDF Document Compression and Decompression Control SDK
change font size in pdf form; .pdf printing in thumbnail size
Overview
12
Kofax Capture Developer's Guide
API Libraries
Kofax Capture includes several API libraries that you can use to customize Kofax Capture
features or behavior. Details on these libraries are provided in the Kofax Capture API Reference.
Details about the Kofax Capture Export Type Library is available separately, as noted in the
table.
The Library Name column in the following table shows the library as it will be displayed in
the Visual Basic References window. The Object and File Names column shows the library as
it will be displayed in the Visual Basic Object Browser, followed by the name of the library file
in parentheses.
Library Name
Object and File Name
Usage
Kofax Capture
Module .NET Type Library
Kofax.Capture.CaptureModule
(Kofax.Capture.CaptureModule.dll)
Used to add custom panels,
menu items, and import
applications to the Scan,
Quality Control, Validation,
and / or Verification modules.
Kofax Capture
Administration
Module .NET Type Library
Kofax.Capture.AdminModule
(Kofax.Capture.AdminModule.dll)
Used to create custom panels
for the Administration module
or Setup OCXs for custom
modules or workflow agents.
Kofax Capture Custom
Module .NET Type
Interface Library
Kofax.Capture.SDK.CustomModule
(Kofax.Capture.SDK.CustomModule.dll)
Provides .NET type interfaces
used to integrate a custom
module into your Kofax Capture
installation.
Implementation of this
interface library is used
with the Kofax Capture
Document Access .NET Type
Implementation.
Also referred to as the
DBLite .NET Interface Library.
Kofax Capture Document
Access .NET Type
Implementation Library
Kofax.Capture.DBLite
(Kofax.DBLite.dll)
Used to integrate a custom
module into your Kofax Capture
installation.
Kofax Capture Document
Access .NET Type
Implementation makes it
possible for the custom module
to access batch information
from Kofax Capture. This library
also allows your custom module
to relay batch information from
the custom module to Kofax
Capture.
Also referred to as the
DBLite .NET Implementation
Library.
Create Thumbnail in Web Image Viewer | Online Tutorials
Height" to set your thumbnail size; Type "BackColor Barcodes from Your Documents. Multi-page Tiff Processing; RasterEdge OCR Engine; PDF Reading; Encode & Decode
best way to compress pdf; change font size in pdf fillable form
C# Imaging - C# Code 11 Generator
REImage image = new REImage(barcode.ToImage()); page.AddImage(image JPEG, PNG, GIF images and PDF, TIFF, Word barcode data // Code 11 barcode size related barcode
change page size pdf acrobat; pdf file compression
Overview
Kofax Capture Developer's Guide
13
Library Name
Object and File Name
Usage
Kofax Capture Optimized
Custom Module .NET Type
Interface Library
Kofax.Capture.SDK.Data
(Kofax.Capture.SDK.Data.dll)
Provides .NET type interfaces
used for fast retrieval and
selective update of data.
Implementation of this interface
library is used with the
Kofax Capture Optimized
Custom Module .NET Type
Implementation Library.
Also referred to as the
DbLiteOpt .NET Interface
Library.
Kofax Capture Optimized
Custom Module .NET Type
Implementation Library
Kofax.Capture.DBLiteOpt
(Kofax.DBLiteOpt.dll)
An easy-to-use custom module
interface used for fast retrieval
and selective update of data.
This API provides a
mechanism that allows
use of the Kofax Capture
Document Access .NET
Type Implementation
Library dynamic-link library
(Kofax.DBLite.dll) to select and
open a batch.
Also referred to as
the DBLiteOpt .NET
Implementation Library.
Kofax Capture Custom
Workflow .NET Type
Interface Library
Kofax.Capture.SDK.Workflow
(Kofax.Capture.SDK.Workflow.dll)
Provides interfaces used
by workflow agents to close
batches by modules.
Implementation of this interface
library is used with the Kofax
Capture Custom Workflow .NET
Type Implementation Library.
Also referred to as the
Workflow .NET Interface
Library.
Kofax Capture Custom
Workflow .NET Type
Implementation Library
Kofax.Capture.ACWFlib
(Kofax.Capture.ACWFlib.dll)
An implementation of Kofax
Capture Custom Workflow .NET
Type Interface Library.
Also referred to as the
Workflow .NET Implementation
Library.
Kofax Capture .NET
Scripting Library
ScriptInterface
(ScriptInterface.dll)
Used to create VB.NET custom
field, validation, and recognition
scripts.
Kofax Capture Export Type
Library
AscentRelease
(AscRel.dll,
Kofax.ReleaseLib.Interop.dll)
Used to create custom export
connectors. Written in C++
and documented separately
in APIRefExport.chm, which
is available on your Kofax
Capture installation media in
the following location:
Documentation\Help
\APIRef
VB.NET Image: Compress & Decompress Document Image; RasterEdge .
Multi-page TIFF compression and decompression: lossy and decompressing: reduce Word document size according to Scanned PDF encoding and decoding: compress a
change font size in fillable pdf; change font size in pdf text box
VB Imaging - VB Codabar Generator
PointF(100F, 100F)) docx.Save("C:\\Sample_Barcode.pdf"). New REImage(barcode.ToImage()) page.AddImage(image barcode data // Codabar barcode size related barcode
pdf compress; reduce pdf file size
Overview
14
Kofax Capture Developer's Guide
Backward Compatibility
Your existing customizations based on VB6 public APIs are supported for use with Kofax
Capture 10.1, provided that you perform the installation without excluding VB6 components.
If you specify the NoVB6 switch during the Kofax Capture installation, or your organization
policy does not allow installation of VB6 components, you cannot continue to use the
customizations.
If you change your existing customizations based on VB6 public APIs, they should be
recompiled against VB6 APIs from previous versions of Kofax Capture. Another option is
to convert your project to Visual Studio 2010 or later, target the project to .NET 4.0, and then
recompile using either the VB6 public APIs provided with Kofax Capture 10.1, or the .NET
APIs described in the Kofax Capture API Reference. The following table gives you information
about specific versions.
If you need to refer to the VB6 API documentation provided in earlier versions of the
product, the API Reference and Developer's Guide from Kofax Capture 10.0 is available on your
installation media in the following folder:
Documentation\Help\KC 10.0 API Ref and Dev Guide
Tool
Compiles Against
VB6 and Interop
Public APIs?
Kofax Capture
Version
Compiles
Against .NET
Public APIs?
Kofax Capture
Version
Description
Microsoft Visual Studio
Express 2012 for
Windows Desktop
Yes
8.0, 9.0, 10.0, 10.1
Yes
10.1
You can compile customizations
against VB6/Interop Public APIs
or .NET APIs, because both are
available and valid with Visual Studio
Express 2012 for Windows Desktop.
Microsoft Visual Studio
Ultimate 2012
Yes
8.0, 9.0, 10.0, 10.1
Yes
10.1
You can compile customizations
against VB6/Interop Public APIs
or .NET APIs, because both are
available and valid with Visual Studio
Ultimate 2012.
Microsoft Visual Studio
Premium 2012
Yes
8.0, 9.0, 10.0, 10.1
Yes
10.1
You can compile customizations
against VB6/Interop Public APIs
or .NET APIs, because both are
available and valid with Visual Studio
Premium 2012.
Microsoft Visual Studio
Professional 2012
Yes
8.0, 9.0, 10.0, 10.1
Yes
10.1
You can compile customizations
against VB6/Interop Public APIs
or .NET APIs, because both are
available and valid with Visual Studio
Professional 2012.
Microsoft Visual
Basic 2010 Express
Yes
8.0, 9.0, 10.0, 10.1
Yes
10.1
You can compile customizations
against VB6/Interop Public APIs
or .NET APIs, because both are
available and valid with Visual
Studio 2010.
C# Imaging - C# Codabar Generator
100F, 100F)); docx.Save(outputDirectory + "Sample_Barcode.pdf"); }. REImage(barcode. ToImage()); page.AddImage(image data // Codabar barcode size related barcode
reader compress pdf; best pdf compression
Overview
Kofax Capture Developer's Guide
15
Tool
Compiles Against
VB6 and Interop
Public APIs?
Kofax Capture
Version
Compiles
Against .NET
Public APIs?
Kofax Capture
Version
Description
Microsoft Visual Basic
2010 Standard
Yes
8.0, 9.0, 10.0, 10.1
Yes
10.1
You can compile customizations
against VB6/Interop Public APIs
or .NET APIs, because both are
available and valid with Visual
Studio 2010.
Microsoft Visual
Studio 2010
Professional
Yes
8.0, 9.0, 10.0, 10.1
Yes
10.1
You can compile customizations
against VB6/Interop Public APIs
or .NET APIs, because both are
available and valid with Visual
Studio 2010.
Microsoft Visual
Basic 2008 Express
Yes
8.0, 9.0, 10.0
No
A .NET 4.0 target is not available
from this version of Visual Basic
Express Edition, and therefore, .NET
APIs are not supported. You can
compile customizations only against
the APIs for the Kofax Capture
versions listed.
Microsoft Visual Studio
2008 Standard
Yes
8.0, 9.0, 10.0
No
A .NET 4.0 target is not available
from this version of Visual Studio,
and therefore, VB6 / Interop Public
APIs and .NET Public APIs for Kofax
Capture 10.1 are not supported.
You can compile customizations
only against the APIs for the Kofax
Capture versions listed.
Microsoft Visual Studio
2008 Professional
Yes
8.0, 9.0, 10.0
No
A .NET 4.0 target is not available
from this version of Visual Studio,
and therefore, VB6 / Interop Public
APIs and .NET Public APIs for Kofax
Capture10.1 are not supported.
You can compile customizations
only against the APIs for the Kofax
Capture versions listed.
Microsoft Visual Basic
2005 Express
Microsoft Visual Studio
2005 Standard and
Professional
Yes
8.0
No
A .NET 4.0 target is not available
from these versions of Visual Basic /
Visual Studio, and therefore, VB6 /
Interop Public APIs and .NET Public
APIs for Kofax Capture10.1 are
not supported. You can compile
customizations only against Kofax
Capture 8.0.
Fluent User Interface (Fluent UI) Customizations
Some Kofax Capture modules use the Fluent UI, similar to the user interface in recent
versions of Microsoft Office. The Fluent UI is characterized by the use of a Ribbon, tabs,
groups, and commands. The Fluent UI also supports right-click (context) menus, which are
unchanged from prior interface approaches.
Overview
16
Kofax Capture Developer's Guide
See the Kofax Capture Help for more information on the Kofax Capture user interface
elements.
The following table shows differences between legacy terminology and the Fluent UI.
Legacy and Context Menu
Fluent UI
Comments
menu bar
Ribbon
An application window has only one Ribbon.
menu bar text /menu
tab
The Ribbon consists of a set of tabs.
The strMenuBarText parameters specify the label
that appears on the tab.
group
A “group” is an organizing container for commands
(menu items) that belong to a tab. A tab may
consist of many groups.
Groups perform a function similar to divider bars
in menus, but there is no programmatic mapping
from a menu based interface to groups.
When using older (unmodified) customizations,
a group called “Menu Items” is automatically
created. However, in the AddMenuEx method, the
strGroupName parameter specifies the text to be
used for the group name.
menu text/menu item
command
Commands can have downward pointing arrows
that reveal a window with additional related
commands. For example, the Paste command
may open to show several options for pasting
content.
strMenuText parameters specify the label that
appears on the command button.
To maintain backward compatibility, the names and behaviors and documentation of existing
methods and other API and customization elements are unchanged.
For example, the description, behavior and syntax of the SelectMenuItem method are
unchanged. With a tab on the Ribbon, it causes the command (menu item) with the specified
resource ID to be triggered. In a context menu, it causes the menu item with the specified
resource ID to be triggered.
As another example, the ShowMenu method shows or hides a tab on the Ribbon. In the
context of the Fluent UI, the strMenuBarText parameter specifies the label on the tab. The
command label is determined by the strMenuText parameter.
Note that unless a method or other API element is specifically restricted to context menus, its
documented functionality may apply to either the Fluent UI or a context menu (depending on
the context of the application code).
Several recently added methods directly support the capabilities of the Fluent UI. See the
Kofax Capture API Reference for more information. We strongly recommend that you employ
the newer methods to create or update your customizations.
Additional Resources
Files that define the data layout used when accessing Kofax Capture data through custom
modules and workflow agents are provided. Both mechanisms utilize identical data layouts.
Overview
Kofax Capture Developer's Guide
17
These data layout files (AcBatch.htm, AcDocs.htm, and AcSetup.htm) are installed with Kofax
Capture in your Kofax Capture installation folder.
The data layout is split into two files: AcSetup.htm defines setup information and
AcBatch.htm defines runtime information. The data is partitioned into elements. Each
element describes a specific kind of object and includes attributes and subelements. Attributes
are properties that describe an element.
The file AcDocs.htm is a subset of AcBatch.htm and contains only the portion of AcBatch that
relates to the document structure.
Note  Prior to Kofax Capture 9, the product was named Ascent Capture. Although the product
name in most of the documentation has changed, some instances of the prior product name
appear in code snippets, file names, sample applications, API references, or references to prior
versions of Kofax Capture.
How to Implement Your Custom Scripts and Modules
Each chapter in this guide provides instructions and implementation details for creating
custom extensions, such as custom modules, panels, workflow agents, and setup OCXs.
Note  Kofax Capture 10.1 is based on Microsoft .NET Framework 4.0. To use Kofax Capture
10.1 successfully with custom modules, export connectors, OCX/custom panels, or workflow
agents based on earlier versions of the .NET Framework, a special-purpose configuration file
is required. For details, see the Kofax Capture Installation Guide.
Overview
18
Kofax Capture Developer's Guide
Kofax Capture Developer's Guide
19
Chapter 2
Custom Script Creation Using VB.NET
Scripts are small programs used to perform specific tasks for associated Kofax Capture
modules. In the Administration module, you can choose the kind of script to create and the
language to create it with.
This chapter focuses on creating custom scripts using Microsoft Visual Basic 2010 Express
Edition as the script programming language. The advantage of writing scripts in VB.NET
and the Microsoft Visual Studio development environment is support for Unicode, which is
essential for supporting multi-byte character sets. Also, a large knowledge base for the Visual
Studio development environment is available should you need additional coding assistance.
You should be familiar with programming concepts and the VB.NET programming language
and development environment for writing custom scripts. You can create the following kinds
of custom scripts in VB.NET:
▪ Field scripts validate data in index fields. For example, your field script can validate that
data meets the criteria for a particular field type.
▪ Validation scripts validate data in the Kofax Capture Validation and Verification modules.
For example, you can write a validation script that queries a database to verify that data
for an index field matches the entered data. Document and folder validation scripts can
be used to perform validation on document class index fields and folder index fields,
respectively.
▪ Recognition scripts validate or modify data on results from the Recognition Server
module. For example, you can write a recognition script that retrieves zone snippets from
each image in a batch and determines if the zone meets a specific acceptance criteria.
Software Requirements
The server and client workstations for Kofax Capture must meet the system requirements
listed on the Kofax Web site at http://www.kofax.com/support
.
Also, when creating a custom script in VB.NET, one of the following development
environments must be installed on your computer:
▪ Microsoft Visual Basic 2010 Express Edition
▪ Microsoft Visual Studio 2010 Standard Edition
▪ Microsoft Visual Studio 2010 Professional Edition
▪ Microsoft Visual Basic 2008 Express Edition
▪ Microsoft Visual Studio 2008 Standard Edition
▪ Microsoft Visual Studio 2008 Professional Edition
▪ Microsoft Visual Basic 2005 Express Edition
▪ Microsoft Visual Studio 2005 Standard Edition
▪ Microsoft Visual Studio 2005 Professional Edition
Custom Script Creation Using VB.NET
20
Kofax Capture Developer's Guide
For Microsoft Visual Basic 2010, 2008, and 2005, you also need Microsoft .NET Framework
4.0 runtime installed in your development environment. If not already installed, the .NET 4.0
runtime is installed either by Kofax Capture or by Visual Studio 2010.
Also, you must use Microsoft Visual Studio 2010 to compile against Kofax Capture 10.1
libraries, which are targeted to .NET 4.0. You can use Visual Studio 2008 to compile Kofax
Capture 10.0, 9.0 and 8.0; or Visual Studio 2005 with Kofax Capture 8.0. See Backward
Compatibility
for more information.
Note  Microsoft Visual Basic Express Edition is a free download from the Microsoft Web site.
Validation Script Creation in VB.NET
Validation scripts are useful for verifying that data meets specific formatting criteria
or for validating database information for fields of a document class. You can perform
these checks before and after document processing (that is, DocumentPreProcessing and
DocumentPostProcessing events).
In this section, you will learn about:
▪ How to select the kind of custom script to create using VB.NET
▪ Objects, methods, and properties that are available for use from the Kofax Capture .NET
Scripting API
▪ VB.NET project location for your script
▪ Deployment of the script’s Visual Basic project
▪ Publishing requirements for the script
A sample validation script written in VB.NET is provided.
Selecting the Scripting Language
Although it is possible to create a custom script outside Kofax Capture using a supported
Visual Studio environment, you typically create a custom script from the Kofax Capture
Administration module. A document class must exist before you create a validation script.
1
On the Home tab, in the Document Class group, click Validation Script.
The Validation Script window appears.
On the Document classes list, select the document class for which you want to create a
script.
On the Scripting language list, select a scripting language to create the script. In this case,
select VB.NET.
Click Create.
A VB.NET project is created for the script, and it opens in the code editor of your .NET
application. Add your code to create the custom script.
Kofax Capture .NET Scripting API
Your document validation script project has access to the events and properties of the Kofax
Capture .NET Scripting library. Each script can consist of several events and event handlers.
The index fields that exist for the document class selected are included in the script code shell.
Documents you may be interested
Documents you may be interested