how to open pdf file on button click in mvc : Convert pdf to html open source Library application component .net html windows mvc Kofax_Developers_Guide_v1012-part80

Workflow Agent Sample
Kofax Capture Developer's Guide
121
6 On the Definitions panel, right-click to display the context menu, and then click
Validation Workflow Properties.
The Validation Workflow Properties window appears.
7 Select Skip validation if the confidence for all fields is at least.
8 Move the slider to the desired confidence level. If the confidence level for all the
documents in your batch meets or exceeds this setting, the Validation module (and
Verification module if it is part of the batch class) is skipped.
9 Click OK.
10 Publish the batch class.
Convert pdf to html open source - control software platform:C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net, ASP.NET MVC, WinForms, WPF application
How to Convert PDF to HTML Webpage with C# PDF Conversion SDK
www.rasteredge.com
Convert pdf to html open source - control software platform:VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.net, ASP.NET MVC, WinForms, WPF application
PDF to HTML Webpage Converter SDK for VB.NET PDF to HTML Conversion
www.rasteredge.com
Workflow Agent Sample
122
Kofax Capture Developer's Guide
control software platform:C# PDF Text Extract Library: extract text content from PDF file in
it is feasible for users to extract text content from source PDF document file the following C# example code for text extraction from PDF page Open a document
www.rasteredge.com
control software platform:VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
Decode source PDF document file into an in-memory object, namely 2.pdf" Dim outputFilePath As String = Program.RootPath + "\\" Annot_8.pdf" ' open a PDF file
www.rasteredge.com
Kofax Capture Developer's Guide
123
Appendix C
Custom Script Creation Using SBL
You can customize the way Kofax Capture processes batches by adding Softbridge Basic
Language (SBL) scripts to your batch classes.
Important  Although SBL is available in this version of Kofax Capture, it has been deprecated.
As a result, SBL will be removed in a future product release. Therefore, we recommend that
you convert any existing SBL scripts to Visual Basic .NET, which is described in Custom
Script Creation Using VB.NET
.
You can write the following types of scripts:
▪ Validation scripts validate data in the Kofax Capture Validation and Verification modules.
For example, you can write a validation script that does a database query to verify that
an index field was entered correctly. Some common validation tasks can be done with the
database validation feature. This eliminates the need to create scripts for simple database
query functions.
▪ Recognition scripts modify data in the Recognition Server module. For example, you can
write a recognition script that retrieves zone snippets from each image in a batch and
extracts data from them using a custom OCR engine.
Validation Scripts
The Validation and Verification modules in Kofax Capture have the ability to automatically
execute validation scripts for every data field in a document class. You can write these scripts
using an embedded macro language called the Softbridge Basic Language (SBL).
Note  You can also use folder validation scripts to add custom processing or enhance or
replace the default folder validation provided by Kofax Capture. Folder validation scripts are
nearly identical to the document validation scripts.
Writing a Validation Script
Validation scripts are written and managed from the Administration module. Separate scripts
can be written for each document class you define, and each script consists of a set of event
handler functions that are initially blank except for some default error handling code. Several
functions are accessible through validation scripts. You can add code to each to perform
custom data validation routines.
Function
Description
FmtFieldName
Called for all data fields whenever the data changes in any field.
It affects only the way the data is displayed, not the data itself. A
FmtFieldName function exists for each data field in a document class.
KfxAcmDocument
The Kofax Capture Module Document object for the current
document.
control software platform:C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Description: Combine the source PDF streams into one PDF file and save it to a new PDF file on the disk. Parameters: Name, Description, Valid Value.
www.rasteredge.com
control software platform:C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Online C# source code for extracting, copying and pasting PDF The portable document format, known as PDF document, is of file that allows users to open & read
www.rasteredge.com
Custom Script Creation Using SBL
124
Kofax Capture Developer's Guide
Function
Description
KfxDocPostProcess
Called after each document is closed.
KfxDocPreProcess
Called each time a new document is loaded.
KfxLoadValidation
Called when a batch is first loaded in the Validation or Verification
module. If a batch has multiple document classes, the function is
called once per document class the first time a document class is
processed.
KfxUnloadValidation
Called when a batch is closed.
PostFieldName
Called when a validation operator exits a data field. A PostFieldName
function exists for each data field in a document class.
PreFieldName
Called each time a validation operator enters a data field. A
PreFieldName function exists for each data field in a document class.
Writing a validation script is a straightforward procedure. To write a validation script, follow
these steps:
1 On the Batch tab in the Administration module, right-click the document class for which
you want to implement a validation script.
2 Click Document Validation Script.
The Document Validation Script window appears.
3 In the Document Validation Script window, select SBL from the Scripting language list.
4 Click either Create (for a new script) or Edit (for an existing script).
The built-in SBL macro editor appears with default/existing code already supplied.
5
Add or edit code for any functions, as applicable.
6
Compile and test the code until you are satisfied it functions as desired.
7
When you are done, exit the editor and close the Document Validation Script window.
How Validation Scripts are Processed
The Validation or Verification module loads a validation script the first time it encounters
a document of a particular class in the batch. In most cases, the script remains loaded until
the batch is closed. (If document sorting is enabled and batch editing is disabled, the script
is unloaded when a document of a different document class is processed, and reloaded/
unloaded as necessary.)
The following describes the “typical” validation script function sequence:
1 The Validation or Verification module sets the batch-level variables (variables, such
as ValidationError, that apply to an entire batch rather than a document or field) and
calls the KfxLoadValidation function. You can use this function to allocate resources or
perform any other initialization needed for the script.
2 For each document in the batch, Validation or Verification sets the document-level
variables (variables, such as RejectandSkipDocument, that apply to an entire document)
and calls the KfxDocPreProcess function. You can use this function to set up any
initialization needed to process the document.
3 For each index field in the document, Validation or Verification sets the field-level
variables (variables, such as SaveandSkipField, that apply to individual index fields) and
control software platform:C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Convert OpenOffice Text Document to PDF with embedded fonts. to change ODT, ODS, ODP forms to fillable PDF formats in Visual Online source code for C#.NET class.
www.rasteredge.com
control software platform:VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
addition, texts, pictures and font formatting of source PDF file are accurately retained in converted Word document file. Why do we need to convert PDF to Word
www.rasteredge.com
Custom Script Creation Using SBL
Kofax Capture Developer's Guide
125
calls the PreFieldName function. You can use this function to supply a default value for
the index field or to display a window with options for the field.
4 When the operator leaves the field, Validation or Verification calls the PostFieldName
function. You can use this function to do any type of validation required for the index
field.
5 The FmtFieldName functions are called for all index fields (except the one getting the
focus) whenever the data in an index field changes.
6 After the last index field in the document is processed, Validation or Verification calls the
KfxDocPostProcess function. You can use this function to do any final processing for the
document, although you no longer have access to the index field data.
7 When the script is unloaded, Validation or Verification calls the KfxUnloadValidation
function. You can use this function to release any resources allocated for the script.
The general flow for processing a validation script is shown in the figure. Refer to the
Administration module Help to get details about exceptions to this flow.
Figure C-1. Processing Flow for a Validation Script
control software platform:C# Word - MailMerge Processing in C#.NET
da.Fill(data); //Open the document DOCXDocument document0 = DOCXDocument.Open( docFilePath ); int counter = 1; // Loop though all records in the data source.
www.rasteredge.com
control software platform:VB.NET PDF File Split Library: Split, seperate PDF into multiple
Separate source PDF document file by defined page range in VB.NET class application. Divide PDF file into multiple files by outputting PDF file size.
www.rasteredge.com
Custom Script Creation Using SBL
126
Kofax Capture Developer's Guide
Writing Field Type Macros
Although it is possible to write code directly into the PreFieldName and PostFieldName
functions in the validation script, you have the option of using field type macros instead. You
use the Kofax Capture Administration module to create field type macros.
The next time you create a validation script that contains this field, the code you wrote for the
field type macro is automatically copied into the validation script. You can then compile the
validation script as usual.
Note that a field type macro itself is never executed. It is merely a template that is copied into
a validation script. Only validation scripts are executed during actual processing.
The advantage of writing a field type macro is that the code is automatically reused whenever
you create a document class that contains a field of the specified type. For example, if you
have a telephone number formatting function, you could create a field type called “Phone
Number” and then write a field type macro that performs the formatting. From that point
forward, any time you create a document class that contains a field of the Phone Number
type, the formatting function is automatically copied into the validation script. Instead of
copying from another script, all you have to do is open the new validation script and compile
it.
1 In the Administration module, on the Definitions panel, click the Field Types tab.
2 Right-click a field type and click Field Macro.
The Field Macro window appears.
3
Enter a name for the macro (the default name is the same as the field type).
4
Click either Create (for a new macro) or Edit (for an existing macro).
The SBL editor is displayed, but only three field functions are accessible
(Pre_KFX_FieldName, Post_Kfx_FieldName, and Fmt_Kfx_FieldName) for the selected
field.
5 Edit the functions as necessary, and then exit the editor.
There is no need to compile the macro unless you want to check the syntax of your code.
Tips for Testing Validation Scripts
You should always test validation scripts before using them in production. Here are a few
tips:
▪ While developing your script, make sure the SBL Editor/Debugger Console window
is visible (select a document class and click Edit in the Validation Script window). This
window has the functionality of both the Visual Basic “Immediate” window and the Visual
C++ Output window: the compiler displays results (including any error messages) in this
window and you can display text in this window using the SBL “print” function.
▪ To quickly test your code without running a batch through Validation, add a 
Sub Main
function at the end of your validation script with a call to the function to test. For example,
to test the 
PreFieldName
function of a field called 
FirstName
, you would write the
following:
Sub Main() 
Result = PreFirstName()
***Additional code goes here***
End sub
Custom Script Creation Using SBL
Kofax Capture Developer's Guide
127
The 
Main
function is executed when you run the script, and you can return results using a
MsgBox
function or any other mechanism.
▪ All functions in validation scripts include error handling. If an unhandled error occurs,
the function returns the 
FatalError
value. When developing a custom script, you should
comment the “On Error Goto Failure” statement so you can examine any runtime errors
generated by your code.
▪ Be sure to restore the default error handling when you are finished with the script, so that
Validation or Verification can properly handle any unexpected errors that occur during
batch processing.
▪ To test your script under real conditions, compile the script and publish your batch class.
Create a test batch and process it through the Validation or Verification module. To make
changes and test again, delete the batch without saving the validation data, and then
edit your script from the Administration module. Recompile your script, publish your
batch class, and create another test batch to process through the Validation or Verification
module. Repeat this process until you get the desired results.
Differences Between SBL and Visual Basic
SBL is similar to Visual Basic and Visual Basic for Applications (VBA). Most Visual Basic
functions and procedures have SBL equivalents, often with the same names and arguments.
Here are some key differences between SBL and Visual Basic:
▪ Variable and function declarations. All variables and functions must be declared before
they are referenced. To include function definitions at the end of a code module, they must
be forward declared for the compiler to resolve the references.
▪ Variable scope. SBL offers local variables and module-level variables (both declared using
“Dim”) and global variables (declared using “Global”).
▪ A local variable is accessible only within the function in which it is declared.
▪ A module-level variable is accessible only by functions in the script in which it is
declared. It is similar to a Private variable in Visual Basic.
▪ A global variable is accessible by any function in any loaded script. It is similar to a
Global variable in Visual Basic, but note that a global variable must be declared in every
SBL code module that accesses it.
▪ External function declarations. External functions must be declared in every module that
calls them.
▪ Windows. SBL scripts are not associated with a form or window, but SBL has a window
editor you can use to create a window to display from a script function.
The window editor creates a window definition, which is inserted into your script. To send
or retrieve data to/from a window, attach script variables to controls on the window. The
implementation is similar to that used by Word Basic in Microsoft Word.
About SBL Windows
Use the Softbridge Basic window editor to create and display custom windows within your
scripts.
All SBL windows are modal. Windows can return values to the script, so you can use a
window to display a list of selections for an index field.
You create custom windows using the SBL Dialog Editor (window editor). Use this program
to name and position controls on a window form. The editor creates a window definition
record, which is inserted into the script.
Custom Script Creation Using SBL
128
Kofax Capture Developer's Guide
For example, if you have an index field that gets filled in with a department name, and there
are seven departments to choose from, it might be convenient to display a list and allow the
operator to select from the list.
This has two advantages:
▪ Operator has less typing to do. This is especially handy if the department names are fairly
lengthy (“Parks and Recreation Department”).
▪ It’s error-free. The operator selects from a list, so there’s no chance of mistakes.
You can display a window from any function in a script. When the user closes the window,
the script can determine the selections made by the user.
If you need to enable or disable controls on the window as the user works with it, you can
create a window function to handle user selections.
To create a window, click the Edit | Dialog menu item in the SBL window editor, where you
can create windows that contain list boxes, command buttons, radio buttons, check boxes,
and other standard Windows controls. When you are finished creating the window, exit the
editor and the template for the window is inserted into your class script at the current cursor
position.
Creating the window is straightforward. The window editor automatically creates the
template code within the validation script, taking only a few more lines of code to display the
window.
Function PreDepartment_Name() As Integer
On Error GoTo Failure
Dim DepArray(4) As String
DepArray(0) = "Parks & Recreation Department"
DepArray(1) = "Mayor's Office"
DepArray(2) = "Beaches and Roads"
DepArray(3) = "Water and Power"
Begin Dialog DepartmentName 6,6,181,92
OkButton  124,20,50,14
CancelButton  124,37,50,14
ListBox  6,22,113,65,DepArray(),.ListBox1
Text  6,7,65,10, “Department Name:”
End Dialog
Dim DepRecord As DepartmentName
Dialog DepRecord
KfxDepartment_Name=DepArray(DepRecord.Listbox1)
For this example, the window selections are defined statically within the script. You don’t
need scripting to do something this simple (you can just specify a set of values when you
define the field type). Yet an SBL list box is a good solution for something more complex, such
as dynamically populating the list based on a database query.
Keep the following in mind as you create windows:
▪ To modify an existing window, simply highlight the template code and start the editor. The
window defined by the template is displayed in the editor.
▪ The size and position of the window within the module are defined on the first line
(Begin Dialog…) of the template code. You can edit this code directly or you can change it
dynamically within the editor.
For more details on creating windows, consult the Softbridge Help files.
Custom Script Creation Using SBL
Kofax Capture Developer's Guide
129
Note  You can achieve results similar to those described above by providing known values
for your field type. This is done with the Values tab on the Field Type Properties window in
the Administration module.
Validation Script Return Codes and Variables
Validation scripts can access the return codes and system variables listed in the tables below.
Table C-1. Validation Script Return Codes
Return Code
Value
Definition
FatalError
-1
Indicates a fatal error. The batch is immediately
terminated and the batch status is set to Error.
Validation or Verification module changes the batch
status to Error, displays a message box with the
KfxErrorMessage string, and closes.
NoError
0
Indicates a successful operation. If this is returned
from a PostFieldName function, the Validation or
Verification module advances to the next field.
NoOperation
3
Return this value from a PreFieldName or
PostFieldName function to call the default
processing for an index field after the custom
processing in the script.
RejectAndSkipDocument
-4
Return this value from the KfxDocPreProcess,
KfxDocPostProcess, PreFieldName, or
PostFieldName function to reject the active
document and advance to the next document. The
PreFieldName and PostFieldName functions for
any unvalidated fields in the document are skipped;
however, the KfxDocPostProcess function is called.
SaveAndSkipDocument 
1
1
Indicates that all data fields should be saved
and the Validation or Verification module should
advance to the next document. It is typically used to
automatically skip a document that does not need to
be validated by an operator (for example, because
the confidence level of all the fields is high). The
Pre and Post functions for all remaining fields are
not called, but the KfxDocPostProcess function is
called.
Example:
KfxDocPreProcess = SaveAndSkipDocument
SaveAndSkipField 
1
2
When returned from the PreFieldName function,
causes the Validation or Verification module to
save data for the current field and advance to the
next field (as if the Tab key had been pressed).
The PreFieldName processing is skipped, but the
PostFieldName function is called.
Example:
PreFieldName = 
SaveAndSkipField
Custom Script Creation Using SBL
130
Kofax Capture Developer's Guide
Return Code
Value
Definition
ValidationError
-3
Indicates that the script encountered an error.
An error message appears and the Validation or
Verification module does not advance to the next
field.
Example:
PostDepartment_Name = ValidationError
ValidationErrorNoMsg
-2
Same as the preceding, without the error message.
1
Use with care, as no validation is performed.
Table C-2. Validation Script System Variables
System Variable
Definition
AlreadyProcessed
A parameter of the KfxDocPreProcess function that indicates
whether the document is being processed for the first time or
has already been processed.
DataAccepted
A parameter of the KfxDocPostProcess function that indicates
whether the operator accepted or rejected the data.
EnteredValue
A parameter of the PostFieldName function that contains the
data entered by the validation operator.
ID
A parameter of the KfxDocPreProcess and KfxDocPostProcess
functions that indicates the document ID of the current
document.
KfxBatchClassId
The hexadecimal ID of the current batch class.
KfxBatchID
The hexadecimal ID of the current batch.
KfxBatchName
The name of the current batch.
KfxClassName
The name of the current document class.
KfxCLFieldName
Contains the confidence level of the current field if it was filled
in via OCR, ICR, OMR, or bar code recognition.
KfxDocClassId
The hexadecimal ID of the current document class.
KfxErrorMessage
The error message displayed when either FatalError,
RejectAndSkipField, or RejectAndSkipDocument are returned
from any function.
KfxFieldName
Contains the value of the data in the current field.
KfxLoadAllProcessedValues
Indicates whether the KfxDocPreProcess and
KfxDocPostProcess functions should be called for documents
that have already processed (for example, if a batch is
suspended halfway through and then reloaded). The default is
“No.”
KfxOperation
Indicates whether the script is being called by the Validation
module (“index”) or the Verification module (“verify”).
KfxPageFile
The file name of the image currently displayed.
MaxLength
A parameter of the PostFieldName function that indicates the
maximum allowed length of the field (for CHAR and VARCHAR
field types).
NumberOfDocsInBatch
A parameter of the KfxLoadValidation function that indicates
the number of documents (not pages) in the current batch.
Documents you may be interested
Documents you may be interested