asp net mvc show pdf in div : Online convert pdf to html Library SDK component .net wpf winforms mvc Kofax_Developers_Guide_v106-part94

Kofax Capture Developer's Guide
61
Chapter 5
Setup OCX Creation
You can implement a setup OCX to customize batch class setup options. With a setup OCX,
you can define custom tabs, configuration settings, and publish checks.
This chapter describes how to design, create, and register a setup OCX, how a setup OCX is
loaded and unloaded with the Administration module, and the behavior of setup OCX panels
and tabs.
A sample setup OCX associated with the custom workflow agent described in Workflow
Agent Creation
is provided and its functionality described later in this chapter.
Setup OCX Design
Determine whether a setup OCX is necessary for your custom extension. A setup OCX can be
associated with a custom extension (such as a custom module or custom workflow agent), or
designed without a custom extension:
▪ You can use a setup OCX with an associated custom module to customize the batch class
setup process for batch classes that contain the custom module as part of their workflow.
The user interface and commands defined in the setup OCX are available only for batch
classes that contain the custom module.
▪ You can use a setup OCX with an associated workflow agent to create custom user
interfaces to configure any runtime parameters that the workflow agent may require. The
user interface and commands defined in the setup OCX are available only for batch classes
that contain the workflow agent.
▪ You can use a setup OCX without an associated custom extension to customize the batch
class setup process for all batch classes. Items defined in the setup OCX are available for all
batch classes.
While it is possible to use the standard configuration settings and publish checks available
from the Administration module with a custom extension, it is likely that you will want to use
a custom setup OCX.
Writing a Setup OCX
The supported programming languages and development environment for creating a setup
OCX are the same as for workflow agents. See the topic Writing the Runtime Module
for the
supported development environments.
The sample setup OCX provided in this chapter is written in VB.NET and associated with the
sample workflow agent provided in Workflow Agent Creation
. The sample setup OCX is part
of the comprehensive sample for this guide.
The sample setup OCX provides the configuration properties for the workflow agent, and it
is available through a context menu for a batch class in the Administration module. Details
Online convert pdf to html - Library SDK component: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
Online convert pdf to html - Library SDK component: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
Setup OCX Creation
62
Kofax Capture Developer's Guide
about the sample setup OCX are provided later in this chapter in Sample Setup OCX for the
Custom Workflow Agent
.
Code Project Settings
To generate the VB.NET project for the setup OCX, ensure that the following library is
referenced in your Visual Basic project: Kofax Capture Administration Module .NET Type
Library (Kofax.Capture.AdminModule.dll).
Sample Setup OCX for the Custom Workflow Agent
The sample setup OCX is part of the comprehensive custom extension sample. This setup
OCX for the custom workflow agent, which is described in Workflow Agent Creation
, enables
the administrator to determine whether a check for even-numbered page deletion is to be
enforced and to configure that option through the Batch Class context menu.
Setup OCX for the Workflow Agent
The workflow agent setup OCX (DeleteEvenPageSetup) is written in VB.NET. This custom
setup OCX consists of the following code:
▪ SetupControl is the control code that handles Kofax Capture events and triggers the setup
OCX and setup window.
▪ SetupForm is the code for the Delete Even Page Setup window that appears when you
select “Delete Even Page Setup” from the batch class context menu. The administrator uses
this code to enable the workflow agent to check for even-numbered page deletion.
Right-click the batch class in the Batch tree view tab to view the context menu associated with
the workflow agent setup OCX.
When you select DeleteEvenPage from the batch class context menu, a Delete Even Page
Setup window appears. The setup OCX generates the context menu.
The code segments are listed here:
SetupControl
Imports Kofax.SDK.CaptureInfo
Imports Kofax.Capture.AdminModule.InteropServices
Imports Kofax.Capture.AdminModule
Imports System.Runtime.InteropServices
<ProgId("VBNET.SetUpControl")> _
<Guid("08FB952B-69AE-3A90-88C4-268EB2372DD0")> _
Public Class SetUpControl
Inherits System.Windows.Forms.UserControl
#Region "Windows Form Designer generated code "
#End Region
Private Const cm_strDEPSetup As String = "DEPSetup"
Private Const cm_strDEPSetupText As String = "Delete Even Page Setup"
'*** Reference to the AdminApplication object
Private m_oAdminApplication As InteropServices.AdminApplication
Public WriteOnly Property Application() As InteropServices.AdminApplication
Set(ByVal Value As InteropServices.AdminApplication)
'*** Cache the object
Library SDK component:Online Convert PDF to HTML5 files. Best free online PDF html
Online PDF to HTML5 Converter. Download Free Trial. Convert a PDF file to HTML. Just upload your file by clicking on the blue button
www.rasteredge.com
Library SDK component:VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
www.rasteredge.com
Setup OCX Creation
Kofax Capture Developer's Guide
63
m_oAdminApplication = Value
'*** Initialize the menu
InitializeMenu()
End Set
End Property
'**************************************************
'*** Function:  ActionEvent
'*** Purpose:   Receive each action event
'*** Input:     nEventNumber - number assigned to event
'*** Output:    vArgument - currently NOT used
'***            pnCancel - Response to the event.
'*** Return:    None.
'**************************************************
Public Sub ActionEvent(ByVal nEventNumber As Integer, ByRef oArgument As
Object, ByRef nCancel As Integer)
'*** Check the event number to see if the application is about to exit, 
'*** if so, clean up m_oAdminApplication's unmanaged resources
If nEventNumber = InteropServices.KfxOcxEvent.KfxOcxEventLoggedOut Then
Using oAdminWrapper As New ApiObjectWrapper(Of
InteropServices.AdminApplication)( m_oAdminApplication)
Debug.WriteLine("Cleans up unmanaged resources handled by
m_oAdminApplication")
End Using
m_oApp = Nothing
End If
'*** Check the event number
If nEventNumber = InteropServices.KfxOcxEvent.KfxOcxEventMenuClicked Then
'*** Check the menu text
If CStr(oArgument) = cm_strDEPSetup Then
'*** Wraps m_oAdminApplication.ActiveBatchClass property in an instance
of
'*** ApiObjectWrapper, so that unmanaged objects used by
'*** m_oAdminApplication.ActiveBatchClass property are released properly
Using oActiveBatchClassWrapper As New ApiObjectWrapper(Of
InteropServices.BatchClass)(m_oAdminApplication.ActiveBatchClass)
If Not oActiveBatchClassWrapper.IsNull Then
'*** Show the Setup Dialog
Dim oSetupForm As LoginForm = New SetupForm
'*** Call the Setup Function with the wrapped of ActiveBatchClass
oSetupForm.ShowSetupDialog(oActiveBatchClassWrapper.WrappedObject)
'*** Unload the Form
oSetupForm = Nothing
End If
End Using ' Releasing unmanaged resources used by
m_oAdminApplication.ActiveBatchClass 
End If
End If
End Sub
Private Sub InitializeMenu()
' Adds the Delete Even Page Setup to the batch class context menu
m_oAdminApplication.AddMenu(cm_strDEPSetup, cm_strDEPSetupText,
"BatchClass")
End Sub
End Class
SetupForm
Imports Kofax.Capture.AdminModule.InteropServices
Imports Kofax.Capture.AdminModule
Imports System.Runtime.InteropServices
Public Class SetupForm
Private Const cm_strCheckEvenPageDeleteCSS As String = "CheckEvenPageDelete"
Library SDK component:C# HTML5 PDF Viewer SDK to convert and export PDF document to
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
www.rasteredge.com
Library SDK component:VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
www.rasteredge.com
Setup OCX Creation
64
Kofax Capture Developer's Guide
Private m_oBatchClass As InteropServices.BatchClass
#Region "Windows Form Designer generated code"
#End Region
Public Sub ShowSetupDialog(ByRef oBatchClass As InteropServices.BatchClass)
'*** Cache the reference
m_oBatchClass = oBatchClass
'*** Initialize the form
chkCheckPages.Checked = IsCheckEvenPageEnabled()
'*** Show the dialog (modal)
Me.ShowDialog()
'*** Save the settings
SetEvenPageEnabled(chkCheckPages.Checked)
End Sub
Private Function IsCheckEvenPageEnabled() As Boolean
'*** Check the BatchClassCustomStorageString
Dim strBCCSS As String = GetBatchClassCSSSafe(cm_strCheckEvenPageDeleteCSS)
Return "True".Equals(strBCCSS, StringComparison.OrdinalIgnoreCase)
End Function
Private Sub SetEvenPageEnabled(ByVal blnEnabled As Boolean)
'*** Set the value
m_oBatchClass.CustomStorageString(cm_strCheckEvenPageDeleteCSS) =
IIf(blnEnabled, "True", "False")
End Sub
Private Function GetBatchClassCSSSafe(ByVal strName As String) As String
Dim strBatchClassCSS As String = String.Empty
Try
strBatchClassCSS = m_oBatchClass.CustomStorageString(strName)
Catch ex As Exception
strBatchClassCSS = ""
End Try
Return strBatchClassCSS
End Function
Private Sub cmdOK_Click() Handles cmdOK.Click
'*** Simply hide the form
Me.Hide()
End Sub
End Class
Registering the Setup OCX
Having a setup OCX for your workflow agent is optional; however, if a setup OCX is
implemented, it must be registered before it can be used.
Refer to Registration File Creation
for details about creating the registration (.aex) file and
using the Kofax Capture Extension Registration utility.
Note  If you are customizing Kofax Capture, you must have Administrator privileges to
install files to the Kofax Capture installation folder.
Library SDK component:VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
Resize converted Tiff image using VB.NET. Convert PDF file to Tiff and jpeg in ASPX webpage online. Online source code for VB.NET class.
www.rasteredge.com
Library SDK component:C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
NET library to batch convert PDF files to jpg image files. Turn multiple pages PDF into single jpg files respectively online.
www.rasteredge.com
Setup OCX Creation
Kofax Capture Developer's Guide
65
Because the sample setup OCX is associated with a workflow agent, the registration file for
the workflow agent is also used to register the setup OCX. Note the listing of the OCX file and
ProgID in the workflow agent registration file in Format of the Registration File
.
1 Copy the setup OCX, custom extension files, and registration (.aex) file to <
Kofax
Capture installation folder>\Bin
on each workstation that runs the Administration
module or the custom extension.
2 Register the setup OCX with the Custom Module Manager or Workflow Agent Manager
available from the Administration module. (Alternatively, you can use the Kofax Capture
Extension Registration Utility.)
Registering a Setup OCX Not Associated with a Custom Extension
1 Copy the registration (.aex) file to <
Kofax Capture installation folder>\Bin
.
2 Copy the setup OCX to the location specified by the .aex file.
3 Register the setup OCX with the Kofax Capture Extension Registration Utility by typing
the following on the command line:
RegAscEx /f <registration_file_name.aex>
Setup OCX Registry Entries
After a setup OCX is installed on a client computer, registry keys must be created on that
computer to inform the Administration module how the OCX is loaded, and what tabs should
be created. Registry keys that define the Administration module setup OCX are automatically
created under the following path during the registration process:
HKEY_LOCAL_MACHINE\Software\Kofax Image Products\Ascent Capture\3.0\Ascent
Capture – Administration\User Panels\
The setup OCX registry key values are listed in the following table.
Value
Required
Type
Description
DisplayName
Yes
String
The display name of
the panel. This name
is displayed on the
View tab in the Panels
group, and it also
appears when the
panel is undocked. The
Visible value determines
whether or not the
DisplayName appears.
InitSizeX
No
DWORD
The initial horizontal
size of the panel in
screen resolution pixels.
The default is 50.
InitSizeY
No
DWORD
The initial vertical size
of the panel in screen
resolution pixels. The
default is 50.
Library SDK component:VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
Create editable Word file online without email. PDF to Word converter control is a professional and mature .NET solution which aims to convert PDF document to
www.rasteredge.com
Library SDK component:XDoc.HTML5 Viewer for .NET, Zero Footprint AJAX Document Image
View, Convert, Edit, Sign Documents and Images. Online Demo See the HTML5 Viewer SDK for .NET in powerful & profession imaging controls, PDF document, image to
www.rasteredge.com
Setup OCX Creation
66
Kofax Capture Developer's Guide
Value
Required
Type
Description
MinSizeX
No
DWORD
Minimum horizontal
size of the panel when
undocked in screen
resolution pixels. The
default is 50.
MinSizeY
No
DWORD
Minimum vertical size
of the panel when
undocked in screen
resolution pixels. The
default is 50.
ProgID
Yes
String
COM ProgID of the
OCX.
Type
Yes
DWORD
0 (zero) indicates the
setup OCX is used by
a custom extension; 1
indicates the setup OCX
is not used by a custom
extension. The default is
0.
Visible
No
DWORD
1 indicates visible, 0
(zero) indicates not
visible. If set to 0, the
panel will not be initially
displayed and the
DisplayName does not
appear. The default is 1.
If any of the required registry values are omitted when the Administration module attempts
to load a setup OCX, the following error is reported:
User defined OCX {User Defined Key} contains an invalid
registry value for {Value Name}.
where:
{User Defined Key} is the registry key under “User Panels” causing the error.
{Value Name} is the name of the key value that was omitted.
The application will shut down in this case.
If any of the DWORD values are out of range, the Administration module reports the
following error:
{Value Name} for user defined OCX {DisplayName} is out of
range.
Where:
{Value Name} is the name of the value.
{DisplayName} is the value data for the DisplayName value.
The value is ignored, and program execution will continue.
Setup OCX Creation
Kofax Capture Developer's Guide
67
If a registry key is properly constructed, but the OCX cannot be loaded for some reason, the
Administration module will report the following error:
Unable to create user defined OCX
{DisplayName}({Details}).
Where:
{DisplayName} is the value data for the DisplayName value.
{Details} indicates the error number or error description.
Tab Registry Keys
Each panel registry key should have a key entitled “Menus” under it. The keys registered
under “Menus” define the tabs for that OCX. Keys defined directly under “Menus” dictate
the location of a command. The following key names are valid.
To add a command to a tree node:
▪ BatchClass
▪ DocumentClass
▪ FieldType
▪ FormIdZone
▪ FormType
▪ IndexGroupMemberZone
▪ IndexGroupZoneCollection
▪ IndexZone
▪ PageLevelBarcode
▪ PageLevelBarcodeCollection
▪ RegistrationZone
▪ RegistrationZoneCollection
▪ SamplePage
▪ SeparationZone
To add a tab to the Ribbon:
▪ MenuBar
Commands are created by adding keys under the keys that are listed above. The name of the
key is the internal name for that command. Also, you can specify the value listed in the table.
Table 5-1. Tab Registry Key Value
Value
Required
Type
Description
Text
Yes
String
Display name of the
command
If this value is omitted, the command is not added.
The MenuBar key is a special case, such that it requires the value listed in the preceding table.
If this value is omitted, the tab does not appear.
Setup OCX Creation
68
Kofax Capture Developer's Guide
Table 5-2. MenuBar Registry Key Value
Value
Required
Type
Description
Text
Yes
String
Display name of the tab
Loading the Setup OCX
A setup OCX is loaded with the Administration module as follows:
▪ If the setup OCX is associated with a custom extension, the OCX is loaded:
▪ When the Administration module is launched, and if the setup OCX has been registered.
▪ While the Administration module is running, if the setup OCX is registered from the
Administration module. If the setup OCX is registered with the Kofax Capture Extension
Registration utility, the setup OCX will load the next time the Administration module is
launched.
▪ If the setup OCX is not associated with a custom extension, the OCX is loaded:
▪ When the Administration module is launched, if the setup OCX has been registered.
A setup OCX that is not associated with a custom extension must be registered with
the Kofax Capture Extension Registration utility. If you register the setup OCX while
the Administration module is running, the setup OCX will load the next time the
Administration module is launched.
Refer to Registration File Creation
for more information about registering custom extensions
and setup OCXs.
The first time the setup OCX is loaded, it appears undocked with other display characteristics
as defined in the registry settings for the OCX. When a setup OCX is loaded again, it assumes
the same location, size, docking status, and visibility used in the previous instance of the
Administration module. For details, see Setup OCX Registry Entries
.
Note that if your setup OCX is associated with a custom extension, and the setup OCX files
are not available in the Kofax Capture Bin folder when the Administration module launches,
a message specifying the name of the custom module that must be registered is displayed.
You are prompted to open the Custom Module Manager to register the setup OCX.
If this kind of message displays, make certain that your setup OCX is installed to <Kofax
Capture installation folder>\Bin. Then, click OK to register the missing setup OCX.
Setup OCXs that are not associated with a custom extension must reside in the location
specified in the .aex file used for registration.
Unloading the Setup OCX
A setup OCX is unloaded from the Administration module as follows:
▪ If the setup OCX is associated with a custom extension, the OCX is unloaded:
▪ When the Administration module is shut down
▪ While the Administration module is running, if the custom extension is unregistered
from within the Administration module
Setup OCX Creation
Kofax Capture Developer's Guide
69
▪ If the setup OCX is not associated with a custom extension, the OCX is unloaded when the
Administration module is shut down
When a setup OCX is unloaded, its panel and all associated tabs are removed from the
Administration module.
Setup OCX Panels
At the discretion of the setup OCX developer, the Administration module can display a panel
for each setup OCX. This panel may be resized and moved just like any other panel.
Enabling Panels
Setup OCX panels are enabled as follows:
▪ If the setup OCX is associated with a custom extension, the panel is enabled when both of
the following are true:
▪ “Batch class” tab on the Definitions panel is active.
▪ Current selection is either a batch class with the custom extension in its workflow, or a
component of such a batch class.
▪ If the setup OCX is not associated with a custom extension, the panel is enabled when the
Administration module is launched.
When a panel is disabled, the panel itself remains visible, but the user interface elements of
the setup OCX are hidden.
Context Menus
A setup OCX may add one or more menu items to the context menus available from the
nodes in the Batch class Definitions panel available in the Administration module. All of the
custom menu items are grouped together via separator bars.
The menus can be added programmatically, or they can be specified in the 
.aex
file required
for custom extension registration. Selecting one of these menu items sends an ActionEvent to
the OCX, identifying the particular menu selected.
See Registration File Creation
for more information about registering custom extensions.
Enabling Context Menu Items
▪ The behavior of the context menu items defined with a setup OCX are as follows:
▪ Batch class tab of the Definitions panel is active.
▪ Current selection is either a batch class with the custom extension, or a component of
such a batch class.
▪ If the setup OCX is not associated with a custom extension, the menu items are always
enabled.
When setup OCX menu items are disabled, they are grayed.
Setup OCX Creation
70
Kofax Capture Developer's Guide
Ribbon
A setup OCX can add one or more tabs to the Ribbon in the Administration module and
define commands for the tab groups. Selecting one of the custom commands sends an
ActionEvent to the setup OCX, identifying the particular command selected.
Custom Tab Names
Custom tab names defined by a setup OCX must be different from the standard tab names
provided on the Ribbon in the Administration module. If you attempt to create a custom tab
with the same name as an existing tab, the following error will occur when the setup OCX is
loaded:
Cannot create {DisplayName} menu for the user-defined queue
setup module {ProgID}.
Where:
{DisplayName} is the display name of the tab to be added.
{ProgID} is the COM prog ID for the OCX.
For this case, the tab is not added, but program execution is continued.
Enabling/Disabling Custom Commands
▪ If the setup OCX is associated with a custom extension, the commands are enabled when
both of the following are true:
▪ “Batch class” tab on the Definitions panel is active.
▪ Current selection is either a batch class with the custom extension, or a component of
such a batch class.
▪ If the setup OCX is not associated with a custom extension, the commands are always
enabled.
As an example, a custom tab can be added to the Administration module Ribbon. For this
case, the setup OCX that defines the custom tab is associated with a custom extension, and
the batch class that contains the custom extension is selected from the Batch class tab of the
Definitions panel. The custom tab is then enabled.
When the batch class that contains the custom extension is not selected, the tab name “Sample
Index” is available, but the commands associated with it are unavailable.
Panels
Each panel created by a setup OCX will be listed on the tab that appears when you select
the View tab and look in the Panels group. Selecting a panel will show or hide the panel,
depending on its current state.
Note  A panel being shown or hidden has nothing to do with it being enabled or disabled.
It is possible to show a panel that is disabled. When a disabled panel is shown, the panel
elements are not displayed.
Documents you may be interested
Documents you may be interested