how to show pdf file in asp.net page c# : How to make pdf text searchable control Library system web page asp.net winforms console Visual_CUT_User_Manual23-part1974

©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 231 
Avoiding Too Many Active Visual CUT Instances (Queuing)  
Many Visual CUT users have increased their use of the tool to the point where several instances 
of Visual CUT may be actively processing reports at any given time.  In most cases, you can 
reduce the number of concurrent instances by simply combining multiple command lines into a 
single batch file.  In other cases, you can control the maximum number of active Visual CUT 
instances using the following DataLink_Viewer.ini entry: 
------------------------------------- 
[Options] 
Maximum_Allowed_Active_Instances=4 
------------------------------------- 
When launching a new Visual CUT instance, if the number of active Visual CUT instances 
reached that maximum number, the new instance is placed into sleep. It "wakes up" every 5 
seconds to check if it can launch. Once the number of active instances drops below the maximum 
allowed level, the new instance is allowed to launch. 
How to make pdf text searchable - search text inside PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn how to search text in PDF document and obtain text content and location information
how to make a pdf document text searchable; pdf select text
How to make pdf text searchable - VB.NET PDF Text Search Library: search text inside PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn How to Search Text in PDF Document and Obtain Text Content and Location Information in VB.NET application
search text in multiple pdf; pdf find text
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 232 
Job Status Functionality 
During unattended/scheduled processing, Visual CUT generates a job status text file, located in 
the Visual CUT application folder and named: 
VC_Job_Status_N.txt (containing the error message) if a failure occurred  
- or -   
VC_Job_Status_Y.txt if processing was successful.   
Visual CUT erases these files (if they exist) at the start of each unattended processing.   
Other applications that trigger Visual CUT processing via a command line call can check for the 
existence of these job status files as an indicator for processing status.  For example, a web 
application can use this option to invoke Visual CUT processing (e.g., an export to a PDF file 
with bookmarks) and then keep checking for one of the job status file names before continuing. 
If the success file (VC_Job_Status_Y.txt
) is found, redirect the user’s browser to the resulting 
PDF file 
if the failure file is found (VC_Job_Status_N.txt), present the user with the error 
message inside that text file.   
In order to support job status monitoring in cases where multiple instances of Visual CUT may 
be processing report requests at the same time, your application can specify a unique job status 
file name for each call to Visual CUT .   
For example, if your command line invocation of Visual CUT is:  
"C:\Program Files\Visual CUT\Visual CUT.exe" 
-e
"C:\Test\Report.rpt"      
"JOB_STATUS_ID
:4523
"  
then the resulting job status file for that call would be 4523_Y.txt or 4523_N.txt 
A DataLink_Viewer.ini file option (Job_Status_Path) under a [File_Locations] section allows 
you to override the default location (Visual CUT application folder) for the Job Status indicator 
files.  For example: 
------------------------------------ 
[File_Locations] 
Job_Status_Path=C:\Temp\ 
------------------------------------ 
This is useful in situations where a web application (PHP, ColdFusion, ASP.NET…) is not 
allowed read access to the Visual CUT application folder. 
Note: this functionality is disabled if the Generate Success.txt file option is turned off. 
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
What should be noted here is that our PDF to text converting library Thus, please make sure you have installed VS 2005 or above versions and .NET Framework
text select tool pdf; search pdf for text in multiple files
VB.NET Image: Robust OCR Recognition SDK for VB.NET, .NET Image
can be Png, Jpeg, Tiff, image-only PDF or Bmp following sample codes demonstrate how to extract text from bmp of image file formats, so you can make all desired
pdf editor with search and replace text; pdf searchable text
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 233 
Failure Alerts via Email 
The Visual CUT Option dialog allows you to specify an email address that should receive a 
message whenever Visual CUT encounters a processing failure. Here is an example of such a 
message: 
VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net
API, users will be able to convert a PDF file or a certain page to text and easily save Before you get started, please make sure that you have installed the
cannot select text in pdf file; convert pdf to searchable text
Online Convert PDF to Text file. Best free online PDF txt
We try to make it as easy as possible to convert your PDF NET solution for Visual C# developers to convert PDF document to editable & searchable text file.
how to select text in pdf reader; pdf text search tool
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 234 
Record Processing to an ODBC Database 
In order to log processing to an ODBC database, you must create a table called MS_Log in the 
target database. This can be in MS Access, SQL Server, Oracle, etc. 
MS Access Database Sample 
Above is the table structure required for this table, when implemented under MS Access: A 
sample MS Access database is available for download. That sample database contains a form 
(with a subform) showing how you can view processing information, including bursting steps: 
VB.NET Create PDF Library SDK to convert PDF from other file
Create writable PDF file from text (.txt) file in VB.NET project. Creating a PDF document is a good way to share your ideas because you can make sure that
can't select text in pdf file; search pdf for text
OCR Images in Web Image Viewer | Online Tutorials
a document and convert it to a searchable PDF file; page provides detailed information for recognizing text from scanned in Web Document Viewer, make sure that
search text in multiple pdf; how to select all text in pdf
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 235 
SQL Server Instructions 
Here is a script for creating the table in SQL Server: 
CREATE TABLE [dbo].[MS_Log] ( 
[LogN] [int] IDENTITY (1, 1) NOT FOR REPLICATION  NOT NULL , 
[Parent_LogN] [int] NULL ,  
[Rpt_Path_Name] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[Proc_Start] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[Proc_End] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[Group_1_Value] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[Status] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[Failure_Reason] [nvarchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[Warning] [nvarchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[Export_File_Name] [nvarchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[Email_To] [nvarchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[Email_Subject] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[Command_Line] [nvarchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[User_ID] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , 
[PC_ID] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL  
) ON [PRIMARY] 
GO 
SQL Server notes: 
for recent versions of SQL Server, replace [nvarchar] (40000) with [nvarchar] (MAX
To ensure the User ID you use can access that table, make that user a member of the 
dbo_owner group in SQL Server. 
You can create Crystal reports against this table.  You can even schedule these reports in Visual 
CUT to alert you about bad email addresses, failing, and slow (using the Proc_Start and 
Proc_End columns) reports.    
VB.NET Image: Start with RasterEdge .NET Imaging SDK in Visual
dll: With this dll, users are capable of recognizing text from scanned documents, images or existing PDF documents and creating searchable PDF-OCR in VB.NET.
how to search pdf files for text; searching pdf files for text
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 236 
Process Logging Settings in Options Dialog 
The following Visual CUT Options dialog allows you to specify the ODBC Data Source Name 
(DSN) where the MS_Log table resides and the User ID & Password (stored encrypted), if the 
data source requires a login.   
Checkboxes allow you to control whether logging should occur only for processing triggered via 
command line, only for processing triggered interactively (user clicks the START button), both, 
or neither.   
You can also specify whether records of successful processing should automatically be deleted 
(in cases where you wish to record only failures). 
Note that Warning messages will not be logged to the database if the "Log Warnings" option is 
turned off.  
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 237 
Update a Database After Success (After_Success_SQL) 
After Visual CUT successfully exported, printed, or emailed a report, you may want to update 
your database to reflect that information. For example, after bursting invoices to customers, you 
may want to update the records for these jobs to reflect the date of invoicing or the fact that an 
invoice was emailed. Besides providing useful information, these columns may also be used to 
avoid duplicate processing by incorporating them into the record selection formula in your 
reports. 
To update a database after successful processing, you use the After_Success_SQL command 
line argument. The argument structure is as follows: 
… 
"After_Success_SQL:Type>>ODBC DSN>>User ID>>Password>>SQL Statement" 
or to trigger multiple statements (each using a different ODBC DSN) repeat the 5 elements after 
^^^^ delimiter:  
"
After_Success_SQL:Type>>DSN1>>User1>>Pass1>>SQL1
^^^^
Type>> DSN2>>User2>>Pass2>>SQL2"
The parameters (after the ":") are separated by a ">>" and are as follows: 
1.   Type: the type of success step: Burst or Whole   
10. ODBC DSN: The ODBC DSN providing access to the target database.  Note that the target 
database doesn’t have to be the same 
as the one used for the report. 
11. User ID: Leave blank if no user id is needed to connect to the ODBC DSN 
12. Password: Leave blank if no password is needed to connect to the ODBC DSN 
13. SQL Statement: the SQL statement to execute.  This typically include embedded references 
to fields/formulas that Visual CUT would replace with their dynamic values. 
NOTE 1: if the SQL statement is blank, it simply gets skipped (no failure message). 
Note 2: to specify multiple statements simply separate them with a ''  
For example, the following command line argument 
---------------------------------------------------------------- 
… "After_Success_SQL:Burst>>xTreme>>>>>>Update "JOBS" SET 
"Processed" = True, "Date Processed" = Date() WHERE "Job Name" = 
'{@Job}'" 
---------------------------------------------------------------- 
Would trigger a SQL statement through the xTreme ODBC DSN, without user id and password, 
every time a bursting step is completed successfully. The statement would find the matching 
record in the JOBS table by comparing the Job Name column to the value of a {@Job} formula 
in the report. If one or more matching records are found, their "Processed" column is set to 
TRUE, and their "Date Processed" column is set to the current date.   
Note that the syntax above conforms to MS Access.  For other databases you may need to adjust 
the syntax.  For example, MS Access provides a Date() function.  MS Access also requires 
enclosing table and column names with double quotes, and literal strings with single quotes (as 
done around the value of the {@Job} reference). 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 238 
SQL Server Example 1 
Here is a simple SQL Server example (note the double quotes around table/column names and 
single quotes around string values
"After_Success_SQL:Burst>>SQL2>>>>>>UPDATE "TCM93"."dbo"."VC_ship_notify" SET 
GF1_DASH_Update = CURRENT_TIMESTAMP WHERE "VC_ship_notify"."gf1_company_code" 
= 'PSI' and "VC_Ship_Notify"."GF1_ID_Ord" = '{@Order_ID}'"
SQL Server Example 2 
Here is an example using SQL Server syntax. In this case, the user needed to INSERT a record 
into a SQL Server table after each bursting step.  The command line argument used was:  
"After_Success_SQL:Burst>>CR_DSN>>>>>>{@SQL_Formula}" 
No user id or password were specified above because the connection used NT Authentication 
rather than SQL Server authentication. 
The {@SQL_Formula} was placed in Group Footer 1 and it's expression was for it was as 
follows. Note that you must surround string values with explicit single quotes. This was taken 
care of by the formulas. For example:  
"'" & {@Some_Text} & "'"
'insert into CrTestDatabase.dbo.NewRenewalFees ( ' & 
'DOC_YEAR, ' & 
'BUSINESS_NO, ' & 
'BUS_LIC_NO, ' & 
'CODE, ' & 
'CLASSIFICATION, ' & 
'NUMUNITS, ' & 
'NUMSEATS, ' & 
'RenewalFee, ' & 
'HOCCRDue, ' & 
'RenewalId, ' & 
'HOCCRId, ' & 
'REPORT_ID ' & 
') ' & 
'SELECT  ' & 
{@Year}     
& " as DOC_YEAR, " & 
{@BusNo}    
& " as BUSINESS_NO, " & 
{@BusLicNo}  
& " as BUS_LIC_NO, " & 
{@Code}       
& " as CODE, " & 
{@Classification}   & " as CLASSIFICATION, " & 
{@NUMUNITS}   & " as  NUMUNITS, " & 
" & 
"0.00 as NUMSEATS,  " &       
{@RenewFee}         & " as RenewalFee, " &  
{@HOCCRFee}       & " as HOCCRDue, " & 
{@RecIdRenewal}   & " as RenewalId, " & 
{@RecIdHOCCR}   & " as HOCCRId, " & 
{@ReportId}            & " as REPORT_ID" 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 239 
Update a Database Before Report Runs (Before_Report_Run_SQL) 
Before Visual CUT runs the report (but just after any Email Capture processes), you may want to 
update a database. For example, the report may use a temporary table that gets created via your 
SQL statement. The structure and logic of the Before_Report_Run_SQL command line 
argument is identical to After_Success_SQL earlier argument except that: 
a) you may not refer to report fields/formulas, and 
b) there is no Type (Whole/Burst) element.  
The argument structure is as follows: 
… 
"Before_Report_Run_SQL:ODBC DSN>>User ID>>Password>>SQL Statement" 
or to trigger multiple statements (each could use a different ODBC DSN) repeat the 4 elements 
after a ^^^^ delimiter:  
"
Before_Report_Run_SQL
:DSN1>>User1>>Pass1>>SQL1
^^^^
DSN2>>User2>>Pass2>>SQL2"
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 240 
Call a Web Service after Success (After_Success_HTTP) 
After Visual CUT successfully exported, printed, or emailed a report, you may want to trigger a 
call to a web service. For example, you can use the EzTexting service to send SMS messages 
without needing to know the carrier associated with the target mobile phone number. 
To automate this type of workflow, you can use the After_Success_HTTP command line 
argument. The argument structure is as follows: 
… 
"After_Success_HTTP:Type>>URL>>Tokens" 
The parameters (after the ":") are separated by a ">>" and are as follows: 
1. 
Type: the type of success step: Burst or Whole   
2. 
URL to call the web service: this include any arguments expected by the web service 
3. 
Tokens (Optional): if the web service responds with XML text, specifying the names of 
the XML nodes (separated by '||') allows the process to report back on the returned values 
of these tokens in the progress dialog (if the process was triggered interactively). 
Note: if triggered interactively (command line argument is in the GUI), the progress dialog 
reports back on the status of these calls. Failures are also logged as warnings if Log Warnings is 
turned on (in the Log/Alert tab of the Options dialog). 
Sending SMS Messages 
For example, using the EzTexting service (500 free SMS messages per month) you can send 
SMS by following the instructions for constructing a url call. An example of such a url is: 
https://app.eztexting.com/api/sending/?user=myUserID&pass=myPass&phonenumber=8141234
567&subject=New Ticket&message=Printer 4 is down 
a similar example using references to Crystal formulas, and skipping the Subject argument, is: 
https://app.eztexting.com/api/sending/?user=UserID&pass=myPass&phonenumber={@Phone}
&message={@Message} 
The full command line argument (can be placed in the GUI area, in a batch file, etc.). 
In a case where the full url is constructed as a {@URL} formula, and the optional Tokens 
argument is skipped, the command line argument (in a case of 
Burst
rather than 
Whole
) would 
simply be:  
---------------------------------------------------------------- 
… "After_Success_HTTP:Burst>>{@url}" 
---------------------------------------------------------------- 
This would trigger a separate SMS for each bursting step.  Visual CUT automatically inserts a 
delay (half a second) between each step in order to respect typical limits on message rates.  
Documents you may be interested
Documents you may be interested