Kofax Web Capture 11.2.0 Developer's Guide

Tipo
Developer's Guide
Kofax Web Capture
Developer's Guide
Version: 11.2
Date: 2019-11-14
©
2019 Kofax. All rights reserved.
Kofax is a trademark of Kofax, Inc., registered in the U.S. and/or other countries. All other trademarks
are the property of their respective owners. No part of this publication may be reproduced, stored, or
transmitted in any form without the prior written permission of Kofax.
Table of Contents
Preface.......................................................................................................................................................... 8
Related documentation.......................................................................................................................8
Training............................................................................................................................................... 8
Getting help with Kofax products.......................................................................................................8
Chapter 1: Deploy Kofax Web Capture.................................................................................................. 10
Visual C++ Runtime dependencies..................................................................................................10
Deploy Kofax Web Capture in ASP.NET......................................................................................... 10
Dependencies using Kofax Web Capture class library......................................................... 10
Dependencies using Kofax Web Capture with WebControls................................................ 10
Chapter 2: Web scanning.........................................................................................................................12
Getting Started with Web Capture...................................................................................................12
Kofax Web Capture demos................................................................................................... 12
Set up a new project.............................................................................................................13
Add the Web Document Viewer handler...............................................................................13
Add the Web Capture handler.............................................................................................. 14
Set up the scanning controls and viewer..............................................................................16
Wrap-up..................................................................................................................................18
Deploy on multiuser environment..........................................................................................18
Chapter 3: Web scanning server.............................................................................................................20
Troubleshoot Web Capture Handlers...............................................................................................20
Extend the KicHandler......................................................................................................................20
Connect to Kofax Import Connector services.................................................................................. 21
Modify web.config..............................................................................................................21
Specify the Kofax Import Connector endpoint...................................................................... 22
Configure Kofax Import Connector...................................................................................................23
Required license.................................................................................................................... 23
Configure the service.............................................................................................................23
Configure the Electronic Documents plugin..........................................................................24
Test the configuration............................................................................................................ 24
Chapter 4: Web scanning client.............................................................................................................. 25
Initialize the control on the client..................................................................................................... 25
Include WebCapture Javascript.............................................................................................25
Initialize.................................................................................................................................. 25
Connect to UI controls..................................................................................................................... 27
3
Kofax Web Capture Developer's Guide
Examples of UI controls........................................................................................................ 27
Filter selection lists...........................................................................................................................29
Connect controls with no UI.............................................................................................................29
Import loose pages...........................................................................................................................30
Batch fields....................................................................................................................................... 31
Display and enter values.......................................................................................................31
Filter the displayed list...........................................................................................................31
Set values through the initialize parameter list..................................................................... 31
Batch field validation..............................................................................................................32
Index fields........................................................................................................................................32
Index field list filtering............................................................................................................32
Required fields.......................................................................................................................33
Hidden fields.......................................................................................................................... 33
Set index field values without connecting to UI.................................................................... 33
Index field validation..............................................................................................................34
Skin the generated table....................................................................................................... 34
Handle events...................................................................................................................................35
ImageProxy properties and methods.................................................................................... 36
Handle errors....................................................................................................................................40
Handler: onScanError(msg, params).....................................................................................41
Handler: onScanClientReady().............................................................................................. 43
Set scanning options........................................................................................................................44
Upload Options.................................................................................................................................55
Connect to the Web Document Viewer........................................................................................... 56
Licensing...........................................................................................................................................57
File Formats and File Options...............................................................................................58
Use VirtualReScan (VRS)................................................................................................................ 58
Test your application.........................................................................................................................59
Test in Internet Explorer, Firefox and Chrome...................................................................... 59
Test for error conditions.........................................................................................................59
Troubleshoot scanning problems..................................................................................................... 60
Uninstall Web Capture MSI..............................................................................................................62
Client API reference......................................................................................................................... 62
Atalasoft.Controls.Capture.WebScanning..............................................................................62
Atalasoft.Controls.Capture.CaptureService........................................................................... 69
Chapter 5: Web Document Viewer.......................................................................................................... 72
Chapter 6: Program with DotPdf............................................................................................................. 73
Mathematical model..........................................................................................................................74
4
Kofax Web Capture Developer's Guide
Transformations................................................................................................................................ 75
PdfGeneratedDocument................................................................................................................... 77
Pages................................................................................................................................................ 77
Standard page sizes.........................................................................................................................78
Create stationery.............................................................................................................................. 78
Clipping............................................................................................................................................. 79
Colors................................................................................................................................................81
Rendering..........................................................................................................................................81
Resources.........................................................................................................................................82
Font resources.......................................................................................................................82
Type 1 symbol font encoding................................................................................................ 83
Embed fonts...........................................................................................................................87
Color space resources...........................................................................................................87
Image resources.................................................................................................................... 87
Template resources................................................................................................................88
Shapes.............................................................................................................................................. 88
PdfPath...................................................................................................................................89
PdfRectangle..........................................................................................................................92
PdfRoundedRectangle........................................................................................................... 92
PdfCircle.................................................................................................................................92
PdfArc.....................................................................................................................................92
PdfImageShape......................................................................................................................93
PDF text shapes....................................................................................................................94
PdfTable................................................................................................................................. 96
PdfTemplateShape.................................................................................................................97
PostnetBarcodeShape......................................................................................................... 100
GSave / GRestore............................................................................................................... 100
Transform............................................................................................................................. 101
Marked content.................................................................................................................... 101
Make custom shapes...........................................................................................................102
Round trip documents.................................................................................................................... 105
Integrate with Web Capture........................................................................................................... 105
Actions............................................................................................................................................ 107
PdfAction..............................................................................................................................107
Go To View actions............................................................................................................. 108
URI actions.......................................................................................................................... 109
JavaScript actions................................................................................................................109
Sound actions...................................................................................................................... 109
5
Kofax Web Capture Developer's Guide
Show/Hide action.................................................................................................................110
Named actions.....................................................................................................................111
Submit Form Actions........................................................................................................... 112
Reset Form Action...............................................................................................................112
Annotations..................................................................................................................................... 112
Properties common to all annotations.................................................................................113
Properties common to all mark up annotations.................................................................. 116
Properties common to all widget annotations..................................................................... 117
General annotations.............................................................................................................118
Markup annotations............................................................................................................. 121
Widget annotations.............................................................................................................. 131
Use annotations..............................................................................................................................140
Place an annotation.............................................................................................................140
Create an annotation with a custom border........................................................................141
Add a pop-up to a markup annotation................................................................................ 142
Create an annotation with transparency............................................................................. 143
Skin an annotation...............................................................................................................144
Make an annotation with a rollover appearance................................................................. 145
Make a sticky note annotation............................................................................................ 146
Add a review state to a sticky note.....................................................................................146
Make a highlight annotation................................................................................................ 147
Set a redaction area............................................................................................................151
Use JavaScript to calculate values..................................................................................... 152
PDF Forms..................................................................................................................................... 154
PdfForm................................................................................................................................155
Node form fields.................................................................................................................. 156
Leaf form fields....................................................................................................................156
Visiting nodes.......................................................................................................................156
Form actions........................................................................................................................ 157
Merge PDF forms...........................................................................................................................158
Import pages........................................................................................................................159
Merge forms.........................................................................................................................159
Default merging....................................................................................................................160
DotPdf repair...................................................................................................................................160
DotPdf repair process..........................................................................................................160
Detect errors........................................................................................................................ 161
Repair errors........................................................................................................................162
Repair events.......................................................................................................................162
6
Kofax Web Capture Developer's Guide
Repair filtering......................................................................................................................163
Structure options..................................................................................................................164
Array options........................................................................................................................166
Property repair..................................................................................................................... 166
Digital signatures............................................................................................................................ 167
Certify documents................................................................................................................168
Get signer information......................................................................................................... 170
Document signing operations.............................................................................................. 173
Customize signature appearance........................................................................................176
Certify a document with PdfDocument................................................................................177
Determine if a document is certified or signed................................................................... 177
Fill fields of a certified document........................................................................................ 177
Sign a document with an existing signature....................................................................... 178
Add a signature to a document...........................................................................................178
Linearized PDF...............................................................................................................................179
PdfDocument and PdfGeneratedDocument integraton....................................................... 179
PdfEncoder integration........................................................................................................ 179
PDF/A..............................................................................................................................................180
PDF/A in PdfDocument....................................................................................................... 180
PDF/A data in PdfDocumentMetadata................................................................................ 182
PDF/A in PdfGeneratedDocument...................................................................................... 183
Chapter 7: Barcode Reader................................................................................................................... 192
Use the BarcodeReader.................................................................................................................193
Reading a barcode.............................................................................................................. 193
Read a bar code with options set..................................................................................................194
7
Preface
The Kofax Web Capture Developer's Guide contains information about how to install and customize your
Kofax Web Capture installation. This guide explains how to:
Use .NET assemblies to acquire, read, write, display, annotate, or process images
Use WebForms controls to scan, display, and manipulate images and documents
Add .NET controls to WinForms, WPF, and WebForms projects
Related documentation
In addition to this guide, the Kofax Web Capture documentation set includes the following:
API Reference (.chm file): Gives the complete Kofax Web Capture class library for offline use.
Kofax Web Capture Release Notes: Contains late-breaking product information not included in this
guide. You can download the release notes from the Kofax Web site at www.kofax.com.
Training
Kofax offers both classroom and computer-based training to help you make the most of your Kofax
Web Capture solution. Visit the Kofax Web site at www.kofax.com for details about the available training
options and schedules.
Getting help with Kofax products
The Kofax Knowledge Base repository contains articles that are updated on a regular basis to keep you
informed about Kofax products. We encourage you to use the Knowledge Base to obtain answers to your
product questions.
To access the Kofax Knowledge Base, go to the Kofax website and select Support on the home page.
Note The Kofax Knowledge Base is optimized for use with Google Chrome, Mozilla Firefox or Microsoft
Edge.
The Kofax Knowledge Base provides:
Powerful search capabilities to help you quickly locate the information you need.
Type your search terms or phrase into the Search box, and then click the search icon.
8
Kofax Web Capture Developer's Guide
Product information, configuration details and documentation, including release news.
Scroll through the Kofax Knowledge Base home page to locate a product family. Then click a product
family name to view a list of related articles. Please note that some product families require a valid
Kofax Portal login to view related articles.
Access to the Kofax Customer Portal (for eligible customers).
Click the Customer Support link at the top of the page, and then click Log in to the Customer Portal.
Access to the Kofax Partner Portal (for eligible partners).
Click the Partner Support link at the top of the page, and then click Log in to the Partner Portal.
Access to Kofax support commitments, lifecycle policies, electronic fulfillment details, and self-service
tools.
Scroll to the General Support section, click Support Details, and then select the appropriate tab.
9
Chapter 1
Deploy Kofax Web Capture
Kofax Web Capture does not contain COM components to register, and no Registry modifications are
required to use the SDK. To deploy the SDK, copy Kofax Web Capture assemblies alongside your EXE.
Visual C++ Runtime dependencies
Kofax Web Capture is distributed in four configurations:
.NET Framework 3.5, x86: Depends on Visual C++ 2008 (VC++ 9) Runtime Libraries, x86.
.NET Framework 3.5, x64: Depends on Visual C++ 2008 (VC++ 9) Runtime Libraries, x64.
.NET Framework 4.5.2, x86: Depends on Visual C++ 2017 Runtime Libraries, x86.
.NET Framework 4.5.2, x64: Depends on Visual C++ 2017 Runtime Libraries, x64.
The Kofax Web Capture installer will be updated to deploy all these runtimes to the user's computer.
Deploy Kofax Web Capture in ASP.NET
When deploying Kofax Web Capture in an ASP.NET application, the Kofax Web Capture license file must
be located in the bin directory of the application.
Dependencies using Kofax Web Capture class library
The following files must be included on the server that usesKofax Web Capture. This is all that is required
when using the class library only:
Atalasoft.dotImage.dll
Atalasoft.dotImage.Lib.dll
Atalasoft.Shared.dll
All of these files must be placed in the application's bin folder.
Dependencies using Kofax Web Capture with WebControls
The following files must be included on the server that uses Kofax Web Capture with WebControls:
Atalasoft.dotImage.dll
Atalasoft.dotImage.WebControls.dll
Atalasoft.dotImage.Lib.dll
Atalasoft.Shared.dll
10
Kofax Web Capture Developer's Guide
Atalasoft.dotImage.Pdf.dll
Atalasoft.dotImage.PdfReader.dll
Atalasoft.dotImage.PdfDoc.Bridge.dll
Atalasoft.dotImage.PdfDoc.dll
Atalasoft.dotImage.Ocr.dll
Atalasoft.dotImage.AdvancedDocClean.dll
All of these files must be placed in the application's bin folder.
11
Chapter 2
Web scanning
Web Capture Service includes a set of integrated components that can be used to easily capture-enable
a website. It uses Javascript, supported by a local scanning service on the client which could be deployed
either as a Windows service or a regular Windows application.
Also, Web Capture Service supports scanning in multiuser environments: MS Terminal Server and Citrix.
In these environments, multiple users can work with Web Capture Service at the same time, from different
Windows logon sessions with the same user experience as on a single-user machine.
The Web Capture Service SDK includes a demo Web application that can scan, upload and import
documents into Kofax Capture.
See our Web Capture Service Guide for a step-by step tutorial of setting up a scanning a new scanning
application and deploying it to an IIS server.
The Web Capture Service online documentation is available at https://atalasoft.github.io/web-capture-
service. The offline verison can be downloaded from the public GitHub repository at https://github.com/
Atalasoft/web-capture-service/tree/master/docs.
Getting Started with Web Capture
Follow these steps to create a new capture-enabled Web project. Topics include adding the document
viewer and scanning controls to your Web page, and handling uploaded content on the server. Several
steps will contain cross-references to other sections with more detailed information.
This guide is intended to be followed exactly, but it is not intended to give you a solution that is ready to
deploy. Once you have succeeded building the example project, you can begin modifying it to fit your
organization.
Kofax Web Capture demos
The demo programs provided at our demo gallery demonstrate the wide range of capabilities available to
you while developing applications with Kofax Web Capture.
These demos are designed as a reference and an evaluation tool, and are provided as compiled
executables, as well as Visual Studio projects in C# and VB.NET in VS2010. The executables generally
run without a license, but licenses are required to compile the source code.
To view a complete list of demos, go to: http://www.atalasoft.com/Support/Sample-Applications.
12
Kofax Web Capture Developer's Guide
Set up a new project
A capture-enabled application requires these basic elements:
A client-side ASPX page containing the scanning controls and document viewer.
A server-side ASHX handler for the Web Document Viewer.
A server-side ASHX handler for the Web Capture back end.
WebCapture and WebDocumentViewer resources files.
An upload location for scanned documents.
Start by creating a new ASP.NET Web Application in Visual Studio.
Note In the following instructions the project is called BasicWebCapture.
Visual Studio automatically gives you Default.aspx as a page, which we will use for placing the scanning
controls and viewer.
Add assembly references
Add the following DotImage assemblies to your project:
Atalasoft.dotImage.WebControls
Atalasoft.Shared
In a default installation, these assemblies can be found in C:\Program Files (x86)\Kofax\Web
Capture 11.2\bin\3.5\x86.
There may be further dependencies on any of the remaining DotImage assemblies. Include all DotImage
assemblies in your project if there are problems resolving them.
Copy resources
Web Capture comes with two sets of resources: WebCapture and WebDocumentViewer. In a default .Net
installation, these directories are located in C:\Program Files (x86)\Kofax\Web Capture
11.2\bin\WebResources.
Copy the WebCapture and WebDocumentViewer directories into the root of your project.
Create the upload location
Create a new directory in the root of your project called atala-capture-upload. This is the default
path that will be used for storing images uploaded by the scanning controls.
If you need to change the location of the upload path (for example, to place it in a location outside of your
document root), you can set an atala_uploadpath value in the appSettings section of either your
web.config or app.config.
<appSettings>
<add key="atala_uploadpath" value="c:\path\to\location"/>
</appSettings>
Add the Web Document Viewer handler
The Web Document Viewer handler is responsible for communicating with the Web Document Viewer
embedded in your page, and is separate from the capture handler.
13
Kofax Web Capture Developer's Guide
Add a new Generic Handler to your project. For the purposes of this guide, it is assumed this file will be
called WebDocViewerHandler.
Change the class definition to extend WebDocumentRequestHandler (part of
Atalasoft.Imaging.WebControls). Your handler should resemble the following example.
C#
using Atalasoft.Imaging.WebControls;
namespace BasicWebCapture
{
public class WebDocViewerHandler : WebDocumentRequestHandler
{ }
}
There is no need for further modification to your handler.
Add the Web Capture handler
The Web Capture handler is responsible for handling file uploads from the scanning controls embedded
in your page, and routing them to their next destination along with any necessary metadata. It is also
responsible for supplying the scanning controls with the available content and document types, and status
information.
For this guide, we will create a custom handler that provides a few static content and document types, and
saves uploaded files to another location. Using this baseline, you can continue modifying the handler to
suit your own document handling needs.
If your organization uses Kofax Import Connector (KIC), DotImage ships with handlers to connect to the
service.
Create a handler
Add a new Generic Handler to your project. For the purposes of this guide, it is assumed this file will be
called WebCaptureHandler.ashx.
The handler should be modified to extend from WebCaptureRequestHandler (part of
Atalasoft.Imaging.WebControls.Capture), and should not implement the IHttpHandler interface, as is done
when a generic handler is first created. Instead your handler will need to override several methods of
WebCaptureRequestHandler. Your handler should resemble the following example.
C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Web;
using Atalasoft.Imaging.WebControls.Capture;
namespace BasicWebCapture
{
public class WebCaptureHandler : WebCaptureRequestHandler
{
protected override List<string> GetContentTypeList(HttpContext context)
{
// ...
}
14
Kofax Web Capture Developer's Guide
protected override List<Dictionary<string, string>>
GetContentTypeDescription(HttpContext context, String contentType)
{
// ...
}
protected override Dictionary<string, string> ImportDocument(HttpContext
context, string filename,
string contentType, string contentTypeDocumentClass, string
contentTypeDescription)
{
// ...
}
}
}
The three stubs represent the minimum number of methods that must be implemented for basic
functionality, but there are other methods available in the public API that can also have their behavior
overridden, such as methods to generate IDs or query the status of documents. Refer to the
accompanying object reference for the complete WebCaptureRequestHandler API.
GetContentTypeList
This method returns the collection of available content types that can be used to organize scanned and
uploaded documents. Content types are the top-level organizational unit, and each one has its own
collection of document types (also called document classes) below it.
For this example, GetContentTypeList will be implemented to return a fixed list of two types: Accounts
and HR. In a real system, this would probably query a database or other data source instead. In the KIC
handler, this method queries the system for these values.
C#
protected override List<string> GetContentTypeList(HttpContext context)
{
return new List<string>() { "Accounts", "HR" };
}
GetContentTypeDescription
This method returns a collection of data describing all the document types under a single content
type. The return data is a list of dictionaries, where each dictionary contains a set of properties
describing a single document type. In this example, the only property returned for a document type is its
documentClass, which serves as its name.
C#
protected override List<Dictionary<string, string>>
GetContentTypeDescription(HttpContext
context, String contentType)
{
switch (contentType)
{
case "Accounts":
return CreateDocumentClassDictionaryList(new string[]
{ "Invoices",
"Purchase Orders" });
case "HR":
return CreateDocumentClassDictionaryList(new string[]
{ "Resumes" });
default:
return base.GetContentTypeDescription(context, contentType);
}
15
Kofax Web Capture Developer's Guide
}
private List<Dictionary<String, String>>
createDocumentClassDictionaryList(String[] docList)
{
return docList.Select(doc => new Dictionary<String, String> {{"documentClass",
doc}}).ToList();
}
A helper method is provided to produce the actual list of document types, while
GetContentTypeDescription switches on a given content type to determine what document types should
be included in the list. As with content types, it is expected that this data will originate from another data
source, instead of being hard-coded.
ImportDocument
This method is responsible for actually moving a document and its metadata to its real destination, which
could be a directory, database, or system such as KIC.
C#
protected override Dictionary<string, string> ImportDocument(HttpContext context,
string filename,
string contentType, string contentTypeDocumentClass, string
contentTypeDescription)
{
string docId = Guid.NewGuid().ToString();
string importPath = @"C:\DocumentStore";
importPath = Path.Combine(importPath, contentType);
importPath = Path.Combine(importPath, contentTypeDocumentClass);
importPath = Path.Combine(importPath, docId + "." +
Path.GetExtension(filename));
string uploadPath = Path.Combine(UploadPath, filename);
File.Copy(uploadPath, importPath);
return new Dictionary<string, string>()
{
{ "success", "true" },
{ "id", docId },
{ "status", "Import succeeded" },
};
}
In this example, imported documents are copied into a directory tree rooted at C:\DocumentStore, using
the content type and document class as subdirectories for organizing files. The imported file is copied and
given a new name based on a GUID, which is also passed back to the client in the "id" field of a dictionary.
The id could be used by the client to query the handler at a future time for the status of the imported
document, but this functionality is not included in the guide.
Set up the scanning controls and viewer
The setup for scanning just requires placing some JavaScript, CSS, and HTML into your page. The
page itself could be HTML, ASPX, JSP, or anything else, as the client-side technology is not directly tied
to .NET or IIS. For this guide however, we will update the document Default.aspx, which was originally
included in the new project.
16
Kofax Web Capture Developer's Guide
Include the resources
Include the following script and link tags in your page's head section to include the necessary Web
Document Viewer and Web Capture code and dependencies.
HTML
<!-- Script includes for Web Viewing -->
<script src="WebDocViewer/jquery-3.4.1.min.js" type="text/javascript"></script>
<script src="WebDocViewer/atalaWebDocumentViewer.js" type="text/javascript"></
script>
<!-- Style for Web Viewer -->
<link href="WebDocViewer/jquery-ui-1.12.1.custom.css" rel="Stylesheet" type="text/
css" />
<link href="WebDocViewer/atalaWebDocumentViewer.css" rel="Stylesheet" type="text/
css" />
<!-- Script includes for Web Capture -->
<script src="WebCapture/atalaWebCapture.js" type="text/javascript"></script>
Configure the controls
The scanning and viewing controls need to be initialized and configured to set up connections to the right
handlers, specify behavior for events, and so forth. This can be done with another block of JavaScript,
either included or pasted directly within your page's head somewhere below the included dependencies.
JavaScript
<script type="text/javascript">
// Initialize Web Scanning and Web Viewing
$(function() {
try {
var viewer = new Atalasoft.Controls.WebDocumentViewer({
parent: $('.atala-document-container'),
toolbarparent: $('.atala-document-toolbar'),
serverurl: 'WebDocViewerHandler'
});
Atalasoft.Controls.Capture.WebScanning.initialize({
handlerUrl: 'WebCaptureHandler',
onUploadCompleted: function(eventName, eventObj) {
if (eventObj.success) {
viewer.OpenUrl("atala-capture-upload/" +
eventObj.documentFilename);
Atalasoft.Controls.Capture.CaptureService.documentFilename
= eventObj.documentFilename;
}
},
scanningOptions: { pixelType: 0 }
});
Atalasoft.Controls.Capture.CaptureService.initialize({
handlerUrl: 'WebCaptureHandler.'
});
}
catch (error) {
alert('Thrown error: ' + error.description);
}
});
17
Kofax Web Capture Developer's Guide
</script>
Note that the URL for the WebDocViewer handler is specified once and the URL for the WebCapture
handler is specified twice, since two capture services must be initialized.
There are several additional options and handlers that can be specified in the initialization routines for
scanning and viewing. This example represents the minimal configuration necessary for scanning with an
integrated document viewer.
Add the UI
Add the following HTML to your project to create a basic viewer UI. This includes the Web Document
Viewer, drop-down boxes to choose scanners, content types, and document types, and buttons to drive
the UI. The scanning demos included with DotImage also include more complete examples.
HTML
<p>Select Scanner:
<select class="atala-scanner-list" disabled="disabled" name="scannerList"
style="width: 22em">
<option selected="selected">(no scanners available)</option>
</select>
</p>
<p>Content Type:
<select class="atala-content-type-list" style="width:30em"></select>
</p>
<p>Document Type:
<select class="atala-content-type-document-list" style="width:30em"></select>
</p>
<p>
<input type="button" class="atala-scan-button" value="Scan" />
<input type="button" class="atala-import-button" value="Import" />
</p>
<div>
<div class="atala-document-toolbar" style="width: 670px;"></div>
<div class="atala-document-container" style="width: 670px; height: 500px;"></div>
</div>
Wrap-up
Your project should be ready to deploy to an app server. It is also ready to run from your developing
environment, for testing purposes.
Web server Upload size limits
By default, IIS limits uploads to 30MB. Estimate the maximum upload size your application could
generate, and adjust the server limits accordingly.
Deploy on multiuser environment
There are scenarios where Web Capture Service is used on multiuser environments (MS Terminal
Server, Citrix). On these environments, multiple users work with Web Capture Service at the same time
from different Windows logon sessions. We need to support such environments and provide the same
experience as on single-user machine.
18
Kofax Web Capture Developer's Guide
Terminal server
When using a terminal server, users can connect to the scan server simultaneously and perform scanning
tasks or import files in parallel.
In this case, the Web Capture Service Host determines who exactly has made a request to it, and
forwards the request to the appropriate Web Capture Service Worker which, in turn, works with devices
and files that are available to the specific user. For the end user, this detection process is transparent, and
takes the same as in the simple single-user environment.
Web Capture Service can work only with scanners attached to a remote Terminal Server. Locally
connected scanners are not available in this scenario. The same goes for file import – Web Capture
Service provides access to files on a Terminal Server.
Citrix
The major difference, in comparison with the standalone scenario, when both the Browser app and Web
Capture Service are installed on client machine, is that Web Capture Service is physically running on a
remote Citrix server, while a scanner is connected to the client users computer. This works transparently
for Web Capture Service when Citrix TWAIN Redirection is enabled.
Installation
Web Capture Service can be installed as a Windows Service, enabling the multiuser support features
described above by using the INSTALLASSERVICE command line option as shown below:
msiexec /I Kofax.WebCapture.Installer.msi INSTALLASSERVICE=1
The same command line parameter should be passed to upgrade Web Capture Service installed as
Windows Service.
Administrator rights are required to deploy and upgrade Web Capture Service installed as Windows
Service; therefore it is the responsibility of server Administrator to deploy/upgrade it.
Upgrade
You cannot upgrade Web Capture Service installed as a Windows Service to the standalone version. The
following error message is shown if you try to do so:
This application can't be installed because you already have Web Capture
Service install as Windows service.
However, upgrading from the standalone installation to Windows Service is supported and works as
expected.
19
Chapter 3
Web scanning server
The following sections cover the server-side handlers for displaying and processing scanned documents.
This also includes sections on forwarding documents to remote services such as Kofax Import Connector.
Troubleshoot Web Capture Handlers
If you have difficulty getting this project to run, consider using a tool like Fiddler Web Debugger, which
allows you to monitor the HTTP requests and responses that pass between the web scanning controls,
and the handlers on the back-end. Exceptions in your handlers will present as 500 errors and will likely
contain the exception information embedded in the response. Other errors in your handlers will present as
JSON data in the response that does not contain the data you expect.
Note When implementing the web capture handler, all of the data returned from the methods you
override is converted into an equivalent JSON representation. Examining the JSON is an easy way to
verify outside of the debugger that you are returning the right data.
Client errors will usually present as JavaScript errors. Use your browser's equivalent of F12 tools to
access the JavaScript console to check for errors. The most likely source of errors is not correctly
including all of the necessary web resources, not initializing the controls correctly, or running your page in
an incompatible browser.
No documents appear in the Web Document Viewer after scanning
If you have successfully deployed your application to an application server with a Web Document Viewer,
but the viewer does not appear to work, then the web document viewer handler may be failing and
returning an HTTP 500 code. Use a tool such as Fiddler Web Debugger to see if this is the case. Check
the error logs provided by your application server for more detailed information.
If the handler is returning an HTTP 200 code and there is no image, examine the JSON returned in the
response. It may contain a key-value pair such as: "error":"There was a problem with your license..."
If this is the case, an SDK license is required, but has not been properly applied to your handler.
Another reason for not seeing anything is that you forgot to create the upload directory in which scanned
images are sent for viewing.
Extend the KicHandler
1. Open the application project in your development environment.
2. Add a generic handler to the project.
20
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30
  • Page 31 31
  • Page 32 32
  • Page 33 33
  • Page 34 34
  • Page 35 35
  • Page 36 36
  • Page 37 37
  • Page 38 38
  • Page 39 39
  • Page 40 40
  • Page 41 41
  • Page 42 42
  • Page 43 43
  • Page 44 44
  • Page 45 45
  • Page 46 46
  • Page 47 47
  • Page 48 48
  • Page 49 49
  • Page 50 50
  • Page 51 51
  • Page 52 52
  • Page 53 53
  • Page 54 54
  • Page 55 55
  • Page 56 56
  • Page 57 57
  • Page 58 58
  • Page 59 59
  • Page 60 60
  • Page 61 61
  • Page 62 62
  • Page 63 63
  • Page 64 64
  • Page 65 65
  • Page 66 66
  • Page 67 67
  • Page 68 68
  • Page 69 69
  • Page 70 70
  • Page 71 71
  • Page 72 72
  • Page 73 73
  • Page 74 74
  • Page 75 75
  • Page 76 76
  • Page 77 77
  • Page 78 78
  • Page 79 79
  • Page 80 80
  • Page 81 81
  • Page 82 82
  • Page 83 83
  • Page 84 84
  • Page 85 85
  • Page 86 86
  • Page 87 87
  • Page 88 88
  • Page 89 89
  • Page 90 90
  • Page 91 91
  • Page 92 92
  • Page 93 93
  • Page 94 94
  • Page 95 95
  • Page 96 96
  • Page 97 97
  • Page 98 98
  • Page 99 99
  • Page 100 100
  • Page 101 101
  • Page 102 102
  • Page 103 103
  • Page 104 104
  • Page 105 105
  • Page 106 106
  • Page 107 107
  • Page 108 108
  • Page 109 109
  • Page 110 110
  • Page 111 111
  • Page 112 112
  • Page 113 113
  • Page 114 114
  • Page 115 115
  • Page 116 116
  • Page 117 117
  • Page 118 118
  • Page 119 119
  • Page 120 120
  • Page 121 121
  • Page 122 122
  • Page 123 123
  • Page 124 124
  • Page 125 125
  • Page 126 126
  • Page 127 127
  • Page 128 128
  • Page 129 129
  • Page 130 130
  • Page 131 131
  • Page 132 132
  • Page 133 133
  • Page 134 134
  • Page 135 135
  • Page 136 136
  • Page 137 137
  • Page 138 138
  • Page 139 139
  • Page 140 140
  • Page 141 141
  • Page 142 142
  • Page 143 143
  • Page 144 144
  • Page 145 145
  • Page 146 146
  • Page 147 147
  • Page 148 148
  • Page 149 149
  • Page 150 150
  • Page 151 151
  • Page 152 152
  • Page 153 153
  • Page 154 154
  • Page 155 155
  • Page 156 156
  • Page 157 157
  • Page 158 158
  • Page 159 159
  • Page 160 160
  • Page 161 161
  • Page 162 162
  • Page 163 163
  • Page 164 164
  • Page 165 165
  • Page 166 166
  • Page 167 167
  • Page 168 168
  • Page 169 169
  • Page 170 170
  • Page 171 171
  • Page 172 172
  • Page 173 173
  • Page 174 174
  • Page 175 175
  • Page 176 176
  • Page 177 177
  • Page 178 178
  • Page 179 179
  • Page 180 180
  • Page 181 181
  • Page 182 182
  • Page 183 183
  • Page 184 184
  • Page 185 185
  • Page 186 186
  • Page 187 187
  • Page 188 188
  • Page 189 189
  • Page 190 190
  • Page 191 191
  • Page 192 192
  • Page 193 193
  • Page 194 194

Kofax Web Capture 11.2.0 Developer's Guide

Tipo
Developer's Guide

in altre lingue