c# pdf library itextsharp : Online pdf metadata viewer control Library system azure asp.net wpf console Visual_CUT_User_Manual21-part526

©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 211 
Merging Text Files 
Using a command line argument, you can instruct Visual CUT to merge any number of text files.  
For example, this feature allows you to append text or csv exports to an existing files.  Another 
typical use scenario is to append a csv export (which doesn’t include column headers) to a 
single-line text file that provides the column headers.  
The command line argument structure is as follows: 
… 
"TXT_MERGE:Text_File_List>Text_File_Target>Top_Rows_To_Remove" 
The parameters (after the ":") are separated by a ">" and are as follows: 
1. Text_File_List: comma separated list of the source files in the order they should be merged.  
If all source files share the same folder, you can specify the full path just for the first file 
If a source file is not found, a warning is written to Failure.log and that file is skipped.   
2. Text_File_Target: the file path & name for the resulting merged file. If the path is the same 
as the first source file, you may specify just the file name. 
3. Top_Rows_To_Remove: the number of top rows to remove from each file being merged into 
the first file. This is useful if the first file already provides column headers that should be 
removed from the following files.  Use ‘0’ to indicate 
no rows should be removed. 
For example:  
"TXT_MERGE:c:\temp\File1.txt,File2.csv,File3.csv>c:\temp\Result.csv>0"  
Dynamic Field Names 
You can use field or formula names within the command line argument (just like you drag & 
drop fields & formulas into the various options in the 3rd tab within Visual CUT.  The dynamic 
content of these fields/formulas would be substituted into the command line argument.  
Online pdf metadata viewer - add, remove, update PDF metadata in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata
embed metadata in pdf; endnote pdf metadata
Online pdf metadata viewer - VB.NET PDF metadata library: add, remove, update PDF metadata in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
pdf metadata viewer; pdf xmp metadata viewer
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 212 
Replacing Content in Text Files 
Using a command line argument, you can instruct Visual CUT to replace any number of strings 
in a text file with specified substitutions.  For example, this feature allows you to remove a 
Carriage Return and Line Feed at the end of csv file exports.  
The command line argument structure is as follows: 
… 
"TXT_Replace:InFile||OutFile||find1>>replace1::find2>>replace2||Options" 
The parameters (after the ":") are separated by a "||" and are as follows: 
1. InFile: the file path & name for the source text file.   
2. OutFile: the file path & name for the resulting text file.   
- If no OutFile is specified, the source file gets updated 
if the target folder doesn’t exist, Visual CUT creates it
- if no path is specified (just name) the path of the source file is used 
3. Find & Replace Pairs: unlimited number of find and replace elements.  
Each "find" element is separated from its "replace" 
element by a ‘
>>
’.  
Each pair is separated from the next pair by 
a ‘
::
’ 
- To specify special string characters, such as Carriage Return or Line Feed,  
use Chr() expressions (e.g., Chr(10) or Chr(13)
To remove strings, specify them in the ‘find’ and leave the ‘replace’ as blank 
4. Options: Leave blank, unless you wish to use a special option.   
 Specify END if you wish the substitution to occur only at the end of the file. 
For example, to remove Carriage Return and Line Feed at the end of a text file, use this 
command line argument: 
… 
"TXT_Replace:c:\temp\Input.csv||Result.csv||Chr(10)>>::Chr(13)>>||End" 
Dynamic Field Names 
You can use field or formula names within the command line argument (just like you drag & 
drop fields & formulas into the various options in the 3rd tab within Visual CUT.  The dynamic 
content of these fields/formulas would be substituted into the command line argument.  
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET C#.NET read barcodes from PDF, C#.NET OCR scan PDF. C# ASP.NET Document Viewer, C# Online Dicom Viewer
pdf metadata; pdf keywords metadata
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Create PDF Online. Convert PDF Online. WPF PDF Viewer. View Image to PDF. Image: Remove Image from PDF Page. Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
remove metadata from pdf acrobat; adding metadata to pdf
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 213 
Removing Blank or Short Lines in Text Files 
Using a command line argument, you can instruct Visual CUT to remove blank or short lines in 
text files. This is typically useful when one of the text export formats generates a file with 
unwanted blank lines or lines with just delimiters.  
The command line argument structure is as follows: 
… 
"TXT_Remove_Short_Lines:InFile||OutFile||Max_Length_To_Remove" 
The parameters (after the ":") are separated by a "||" and are as follows: 
1. InFile: the file path & name for the source text file.   
2. OutFile: the file path & name for the resulting text file.   
- If no OutFile is specified, the source file gets updated 
if the target folder doesn’t exist, Visual CUT creates it
- if no path is specified (just name) the path of the source file is used 
3. Max_Length_To_Remove: Lines with that specified length or shorter would be removed.  
For example, to remove all lines that are only 3 characters or shorter: 
… 
"TXT_Remove_Short_Lines:c:\temp\Input.csv||Result.csv||3" 
Dynamic Field Names 
You can use field or formula names within the command line argument (just like you drag & 
drop fields & formulas into the various options in the 3rd tab within Visual CUT.  The dynamic 
content of these fields/formulas would be substituted into the command line argument.  
VB.NET PDF - WPF PDF Viewer for VB.NET Program
C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET C#.NET read barcodes from PDF, C#.NET OCR scan PDF. C# ASP.NET Document Viewer, C# Online Dicom Viewer
pdf metadata reader; online pdf metadata viewer
VB.NET PDF - Create PDF Online with VB.NET HTML5 PDF Viewer
C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET C#.NET read barcodes from PDF, C#.NET OCR scan PDF. C# ASP.NET Document Viewer, C# Online Dicom Viewer
search pdf metadata; bulk edit pdf metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 214 
Removing GUIDs from png Files Referenced in HTML Exports 
This approach is designed to address a use scenario where each time you export a report to 
HTML, image files are created (charts, logos, etc.) with different names. The references to these 
files use a GUID to make the file name unique, like this:  
<img src="Sales{EF6A442D-0DDA-436A-A178-2410853A7E05}.png" 
Where the Sales portion is based on the export file name. 
In most 
cases, the image files actually don’t need unique 
GUIDy names and we can DeGUID 
(remove the GUID portion) from the file reference and from the actual png file name.  
The DeGUID process detects if each png file is unique or a clone of another image within the 
same report (typical in cases of logos repeating on each page). If the png is not a clone (typical in 
reports with multiple charts), the GUID is replaced by an incrementing number (Sales_1.png, 
Sales_2
.png, etc.). This ensures the local and web folders don’t accumulate unique GUIDy 
names each time the scheduled process runs. It also saves space because while Crystal exports 
the same logo on different pages as multiple png files, the DeGUID process in Visual CUT 
automatically consolidates these clones as a single file. 
You can elect to either delete the GUIDy png files (typical in cases the images are static (logos). 
Or you can elect to rename the png files to match the renamed references in the HTML source. 
The command line argument structure is as follows (all in 1 line): 
"TXT_DeGUID_png:InFile||Options" 
The parameters (after the ":") are separated by a "||" and are as follows: 
1. InFile: the file path & name for the source HTML file.   
2. Options: 
DeleteLinkedFile to delete the referenced png files (Scenario 1 above) 
RenameLinkedFile to rename (DeGUID) the referenced png files (Scenario 2 above).  
Otherwise, None  
For example, the following directive: 
"TXT_DeGUID_png:c:\temp\Sales.htm||RenameLinkedFile" 
Would remove all GUIDs from png file references in the HTML export. It will also rename the 
referenced png files by removing the GUIDs from their file names. 
More complex scenarios (you wish to rename references to a logo image to a static name that 
doesn’t depend on the 
export file name) can be handled by the more complex command line 
argument described in the next section (TXT_Replace_Tokens).  
Dynamic Field Names 
You can use field or formula names within the command line argument (just like you drag & 
drop fields & formulas into the various options in the 3rd tab within Visual CUT.  The dynamic 
content of these fields/formulas would be substituted into the command line argument.  
C# HTML5 PDF Viewer SDK to create PDF document from other file
C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET C#.NET read barcodes from PDF, C#.NET OCR scan PDF. C# ASP.NET Document Viewer, C# Online Dicom Viewer
metadata in pdf documents; pdf metadata editor
C# HTML5 PDF Viewer SDK to view, annotate, create and convert PDF
This online HTML5 PDF document viewer library component offers reliable and excellent functionalities. C#.NET users and developers
remove metadata from pdf online; read pdf metadata online
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 215 
Replacing Content in Text/HTML Files 
Token Approach 
This approach allows you to change the content of exported TEXT or HTML file. 
The command line argument structure is as follows (all in 1 line): 
"TXT_Replace_Tokens:InFile||OutFile||Start1^^End1^^replace1^^Location1^^Options1                                                             
::Start2^^End2^^replace2^^Location2^^Options2||Global_Options" 
The parameters (after the ":") are separated by a "||" and are as follows: 
1. InFile: the file path & name for the source text file.   
2. OutFile: the file path & name for the resulting text file.   
- If no OutFile is specified, the source file gets updated 
if the target folder doesn’t exist, Visual CUT creates it
- if no path is specified (just name) the path of the source file is used 
3. Find & Replace Directives: find and replace directives (separated from each other by "::").  
Each directive has 5 elements separated by a ‘
^^
’:
Start Token (in the example above, this would be 
<img src=" 
End Token (in the example above, this would be 
Replace with: text to replace the text found between start and end tokens  
LocationLAST for last found match, ALL for all, 1 for 1
st
found match, 2 for 2
nd 
OptionsRenameLinkedFile if you want to rename a matching file.  
DeleteLinkedFile to delete a matching file (if clean file name already exists).  
Otherwise, None  
4. Global Options: Leave blank 
C# WPF PDF Viewer SDK to view, annotate, convert and print PDF in
Create PDF Online. Convert PDF Online. WPF PDF Viewer. View Image to PDF. Image: Remove Image from PDF Page. Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
read pdf metadata; adding metadata to pdf files
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
zonal information, metadata, and so on. Extract image from PDF free in .NET framework application with trial SDK components for .NET. Online source codes for
view pdf metadata in explorer; batch edit pdf metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 216 
For example, the following directive: 
"TXT_Replace_Tokens:c:\temp\Sales.htm||||<img src="^^" border="0" width="52px"     
height="32px"></div>^^LionHead.png^^ALL^^RenameLinkedFile||" 
you can replace multiple image files, typically named as variations of:  
Output_File{1A49A55D-544F-472F-B40F-5B7062C3D47A}.png
with a single image file. 
"TXT_Replace_Tokens:c:\temp\Sales.htm||c:\temp\Sales.htm||
<img src="
^^ 
" border="0" width="52px" height="32px"></div>^^MyLogo.png^^ALL^^RenameLinkedFile||"
will change all references to an image with dimensions of 52x32 with a single static reference to 
MyLogo.png.  Due to the 
RenameLinkedFile
directive all the temporary matching files such as  
Output_File{1A49A55D-544F-472F-B40F-5B7062C3D47A}.png    
Will be renamed to MyLogo.png  
This has 2 effects:  
1. 
Less clutter in the export folder because multiple image files may be replaced by a 
single image file 
2. 
Less files need to be attached to an email message or uploaded to a web server 
3. 
The web server and the client browser can cache MyLogo.png, improving 
performance 
Dynamic Field Names 
You can use field or formula names within the command line argument (just like you drag & 
drop fields & formulas into the various options in the 3rd tab within Visual CUT.  The dynamic 
content of these fields/formulas would be substituted into the command line argument.  
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 217 
Inserting Base64-Encoded Files Inside Text/XML 
This option was developed for a customer who needed to export invoice data to an XML file 
containing an embedded image encoded with Base64 (a method that converts from binary to text  
representation). The XML file is then transmitted to a business partner using SFTP_Upload.  
The process takes the following steps: 
1. 
A TEXT export creates the XML file with a reference to a file that should be 
embedded at a particular location.  The reference has the following structure: 
[Insert_File_Base64:file_path_and_name]] 
for example, 
[Insert_File_Base64:C:\Temp\Invoice_32556_image.pdf]] 
2. 
Using a TXT_Replace_Base64 command line argument directs Visual CUT to 
search the XML file, locate such references, and replace them (including the 
surrounding tags) with the Base64 encoding of the specified file. 
The command line argument structure is as follows (all in 1 line): 
"TXT_Replace_Base64:InFile||OutFile||Options" 
The parameters (after the ":") are separated by a "||" and are as follows: 
1. InFile: the file path & name for the source text file.   
2. OutFile: the file path & name for the resulting text file.   
- If no OutFile is specified, the source file gets updated 
- if the target 
folder doesn’t exist, Visual CUT creates it
- if no path is specified (just name) the path of the source file is used 
3. Options: Leave blank 
Notes: 
You can have any number of references embedded in the exported text file. Visual CUT 
will replace all of them. 
You can use field or formula names within the command line argument (just like you 
drag & drop fields & formulas into the various options in the 3rd tab within Visual CUT.  
The dynamic content of these fields/formulas would be substituted into the command line 
argument.  
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 218 
Changing Text File Encoding 
This option was developed for a customer who needed to change the encoding of a text export 
from ANSI to UFT-8.  
The command line argument structure is as follows: 
… 
"TXT_Encode:InFile||OutFile||fromEncoding>>toEncoding||Options" 
The parameters (after the ":") are separated by a "||" and are as follows: 
1. InFile: the file path & name for the source text file.   
2. OutFile: the file path & name for the resulting text file.   
- If no OutFile is specified, the source file gets updated 
if the target folder doesn’t exist, Visual CUT creates it
- if no path is specified (just name) the path of the source file is used 
3. The original and new encoding, separated by a 
>>
’.  
4. Options: Leave blank 
For example, to convert from ANSI to UTF-8: 
… 
"TXT_Encode:c:\temp\ {@invN}.xml||c:\temp\{invN}.xml||windows-1252>>utf-8||" 
or 
… 
"TXT_Encode:c:\temp\ {@invN}.xml||||windows-1252>>utf-8||" 
Notes: 
Valid encoding codes: 
us-ascii,unicode,unicodefffe,ebcdic,iso-8859-1,iso-8859-2,iso-8859-3,iso-8859-4, 
iso-8859-5,iso-8859-6,iso-8859-7,iso-8859-8,iso-8859-9,iso-8859-13,iso-8859-15,windows-874,windows-1250, 
windows-1251,windows-1252,windows-1253,windows-1254,windows-1255,windows-1256,windows-1257, 
windows-1258,utf-7,utf-8,utf-32,utf-32be,shift_jis,gb2312,ks_c_5601-1987,big5,iso-2022-jp,iso-2022-kr,euc-jp, 
euc-kr,macintosh,x-mac-japanese,x-mac-chinesetrad,x-mac-korean,x-mac-arabic,x-mac-hebrew,x-mac-greek, 
x-mac-cyrillic,x-mac-chinesesimp,x-mac-romanian,x-mac-ukrainian,x-mac-thai,x-mac-ce,x-mac-icelandic,x-mac-turkish,x-
mac-croatian,asmo-708,dos-720,dos-862, ibm01140,ibm01141,ibm01142,ibm01143,ibm01144,ibm01145,ibm01146, 
ibm01147,ibm01148,ibm01149,ibm037,ibm437,ibm500,ibm737,ibm775,ibm850,ibm852,ibm855,ibm857,ibm00858, 
ibm860,ibm861,ibm863,ibm864,ibm865,cp866,ibm869,ibm870,cp875,koi8-r,koi8-u
You can use field or formula names within the command line argument (just like you drag & 
drop fields & formulas into the various options in the 3rd tab within Visual CUT).  The 
dynamic content of these fields/formulas would be substituted into the command line 
argument.  
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 219 
ODBC Export Functionality 
Visual CUT (for Crystal 9 and above) provides ODBC Export options that are not available in 
Crystal alone. As shown below, the ODBC Export Options dialog allows you to select Abort 
(default Crystal action), Append, or Replace 
as the action when the target table already 
exists: 
Note: the Table Name is controlled by the 
Export File Name (that option is not on the 
dialog shown here but on the main 
email/export processing options tab of Visual 
CUT). Since that option accommodates 
dynamic content, you can control the table 
name using fields/formulas in the report…
Append Functionality 
By selecting append, you can add data to an existing table.  One use for this is for recording 
snapshots of data over multiple periods of time. For example, your database may show current 
inventory levels or current account balances but it is very difficult to generate a report that shows 
inventory levels or account balances at the end of each month for the last few years. By 
scheduling Visual CUT to run at the end of each month and append information reflecting the 
inventory levels or the account balances at that time, you enable easy tracking of that information 
over time.  In Data Warehousing jargon, this is called a snapshot data warehouse. 
Another use scenario is to record the fact that certain records were processed by Visual CUT and 
to avoid duplicate emails.  For example, as orders arrived throughout the day, you can schedule 
Visual CUT to run every 5 minutes and email order confirmation messages to the customers. By 
appending to an ODBC table, you can record which orders have already been confirmed.  
Alternatively, you can use the Skip_Recent command line argument described in the section   
Avoiding Duplicate Processing on page: 52.   
Another use scenario is to Extract, Transform, and Load (ETL) data into a data warehouse 
or across data sources without needing expensive ETL tools or consultants.    
Replace Functionality 
A typical use for the Replace option is to generate temporary tables for use by other 
processes or crystal reports.  For example, Crystal Reports can't aggregate other aggregate 
values (e.g., average group totals) and can't sort groups based on formulas that use aggregate 
values. However, you can create a batch file that calls Visual CUT twice: first to export a report 
with aggregate values to a temporary table and then to process a 2
nd
report that uses the 
temporary table as input. 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 220 
Capturing & Processing Incoming Emails 
Visual CUT can automatically capture incoming emails from your email server to a database 
table. A Crystal report using the data in that table can then be processed in Visual CUT to trigger 
reactions to that email, such as:  
Export/Print/FTP/Email information or reports 
Update databases using After_Success_SQL 
Trigger other applications or Visual CUT processes using After_Burst_Batch  
Use Scenarios 
Here are a few examples of the types of workflow automation this enables: 
Requesting a Report via a Simple Web Form or via Email:  
o
A manager, employee, customer, or supplier can use a simple web form (no web 
application required) to request a report.  
o
The information gets emailed to your email server 
o
Visual CUT captures the email into the EMAIL_CAPTURE table.  
o
A Crystal report using that table inside Visual CUT uses After_Burst_Batch to 
trigger another Visual CUT process by specifying a report to run, parameters, 
email destination, etc. 
o
The triggered Visual CUT report runs and emails the output to the requesting 
employee/customer. 
Note: using the same exact process, you can let customers request information or 
reports by sending an email. For example, a customer may request information about 
the status of their order, the balance in their account, etc.  
Here is a sample email from ABP Reports’ 
Boomerang system, which uses this 
technique, allowing users to request reports via email by simply clicking on a 
hyperlink:  
Documents you may be interested
Documents you may be interested