c# pdf library itextsharp : Change pdf metadata Library SDK class asp.net wpf web page ajax Visual_CUT_User_Manual22-part527

©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 221 
Updating a Database via a Simple Web Form: 
o
A manager, employee, customer, or supplier can provide information (for 
example, complete a registration for an event or provide order status information) 
using a simple web form (no web application required).  
o
A Submit button triggers an email with the form information 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_SQL to 
update another database table (for example, inserting the information into a 
REGISTRATION table.   
Collecting Customer Feedback & Updating a Database via Email Links: 
o
You can use Visual CUT to burst Customer Satisfaction survey emails when a 
purchase, course, visit, RFQ, event, or tech support case is closed.  
o
Inside the HTML email message you embed 5 mailto hyperlinks corresponding to 
ratings of: PoorFairGood, Very Good, and Excellent.   
o
This allows the customer to simply click on one of these links to trigger an email 
back to you with the appropriate ratings.  
o
Visual CUT captures the email into the EMAIL_CAPTURE table.  
o
A Crystal report using that table inside Visual CUT uses After_Burst_SQL to 
insert feedback records into a CUSTOMER_FEEDBACK table. 
Importing Data from Email Attachment into a Database Table:  
o
Email with excel file attachment is captured and Visual CUT extracts the 
attachment to a specified folder.  
o
1st Crystal report reads records from the Email_Capture table and bursts to a 
dummy VC_Skip_Export.  
o
After_Burst_Batch triggers a 2
nd
report that uses Excel as data source, but 
redirects it (using Database_Path command line argument) to retrieve data from 
the email attachment file. 
o
Visual CUT exports the data from the Excel file via ODBC and appends it to a 
specified table. 
Requesting & Capturing Management Decisions Via Email: 
o
Imagine you have a PO table with Purchase Order records that are first inserted 
with a status of ‘Requested’. 
o
You can use Visual CUT to burst and email to the manager in charge of each 
department Approval Requests for these POs.  
o
Attached to each emails you would provide a PDF file with detailed information 
about the requested Purchase Orders.  
Change pdf metadata - 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
change pdf metadata creation date; add metadata to pdf
Change pdf metadata - 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
edit pdf metadata; read pdf metadata java
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 222 
o
Inside the HTML email message body, you embed 2 mailto hyperlinks allowing 
the manager to trigger a 
Reject
or 
Approve
email back to you.  
Note: APB Reports (a BI Consulting firm with impressive record of leveraging 
Visual CUT for a variety of use scenarios) implemented such a process for one of 
their clients. Here is what the email message looks like: 
o
Here is the email message resulting from clicking on the Approve hyperlink: 
o
Note that the email message contains an encrypted text. This ensures the integrity 
of the ema
iled information can’t be compromised on its way back to us.  
o
The encrypted text contains all the necessary data to identify the PO and indicate 
rejection or approval (each hyperlink has a different decision code embedded in 
the encrypted text). 
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Document and metadata. outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; 'create optimizing TargetResolution = 150.0F 'to change image compression
pdf metadata extract; pdf xmp metadata
How to C#: Modify Image Metadata (tag)
Merge PDF Files; Split PDF Document; Remove Password from PDF; Change PDF Permission Settings. in PDF, C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET
view pdf metadata in explorer; search pdf metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 223 
o
The encrypted text for each emailto hyperlink is generated via a Crystal formula 
using the BlowFishEncrypt() function provided by the CUT Light UFL. 
o
The email triggered by clicking on the Reject or Approve hyperlink gets sent 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 decrypts the text in the email 
message body (or subject line) using the BlowFishDecrypt() function provided 
by the CUT Light UFL.  
o
Using After_Burst_SQL, Visual CUT then updates the status of the Purchase 
Order to ‘Approved’ or ‘Rejected’. The SQL statement may look something like 
this: 
Triggering Email Capture 
An Email Capture process gets triggered by running a report in Visual CUT using a command 
line with an "Email_Get:Directives_Key"argument.  For example (all in 1 line): 
The Directive key is used to look up in the DataLink_Viewer.ini a matching key under the 
[Email_Get] section.  
[Email_Get] ini Section 
Each Directives Key can specify multiple directives separated by a ‘
||
’ delimiter:
Notes: 
1. The Email_Get process gets triggered BEFORE the report actually retrieves data from the 
database.   
2. The ODBC DSN used by the report is automatically used as the ODBC DSN target for loading 
captured emails into the target table. Visual CUT reuses the saved login information for the 
report in order to update the target email capture table.   
3. The target table is specified in the directive ini section (see next page).  
4. The tables used by the report are not restricted to the email capture target table.  
5. By default, processing of the report is aborted if zero new emails where captured and inserted 
into the database. To change that behavior, set Abort_Report_Process_If_No_New_Emails in the 
directive ini section to False. 
"C:\Program Files\Visual CUT 11\Visual CUT.exe" -e "C:\Test\Email_Capture.rpt" "Email_Get:P2" 
"Email_Get:P2" 
" 
[Email_Get] 
P1
=Get_PO_Decisions 
P2
=Get_Evaluation_Requests||Get_Camp_Feedback||Get_Booking_Requests 
ests 
'UPDATE PO SET PO_Status = '& {@NEWSTATUS} & ','& (IF {@NEWSTATUS} 
= '8' THEN (' PO_COMMENT = '& "'PO approved by "& {@EMAIL} & "'")ELSE(' 
ELSE(' 
PO _COMMENT = '& "'PO rejected by "& {@EMAIL} & "'"))&' WHERE PO_ID = ' 
_ID = ' 
& {@PO_ID} & ' AND  PO_STATUS = 6' 
VB.NET PDF Library SDK to view, edit, convert, process PDF file
PDF Metadata Edit. Offer professional PDF document metadata editing APIs, using which VB.NET developers can redact, delete, view and save PDF metadata.
adding metadata to pdf; change pdf metadata creation date
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Document and metadata. All object data. Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing TargetResolution = 150F; // to change image compression
modify pdf metadata; add metadata to pdf file
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 224 
Email Get Directive Sections 
Each email capture directive must have its own ini section as follows: 
[Get_Evaluation_Requests] 
//   Required Entry.  Not case sensitive.  Example: Filter=To = "ido@MilletSoftware.com"  
"  
//   Filter=(Subject contains "test" AND From like "*@MIlletSoftware.com*") OR (body Contains "test") 
test") 
Filter=(Subject contains "evaluation request") 
// optional. Default is 50 body lines downloaded for filtering. Reduce if no body filter. Increase if HTML message.  
age.  
Body_Lines=1 
//   Required Entry.  with 1440, only messages sent in the last 24 hours are captured 
Message_Sent_in_Last_N_Minutes=1440 
Server=mail.milletsoftware.com 
// set PopSSL to True if TLS/SSL (encrypted communication) is used when getting emails from the server 
PopSSL=False 
// set Pop3STLS to True (and PopSSl to False) if unencrypted connection (typically port 110)  
//         automatically converts  to a secure TLS connection via the STLS command.  
Pop3STLS=False 
// Set Pop3SPA to True to use SPA authentication 
Pop3SPA=False 
Port=110 
/
  If email server User id is not specified, it is assumed to be same as SMTP setting
g
User_ID=ido@MilletSoftware.com 
//   copy from [Options] section or leave blank to use same. If you need a different password, temporarily set the  
//     default SMTP password to the desired password. Save. Copy the encrypted Password, and then reverse. 
Email_Password_Encrypted=ECDC1AABC705D61F04F6A16F61 
//   should captured emails (if successfully inserted into the table), be deleted from the email server? 
Delete_Email_From_Server=True 
//   if specified, captured emails get saved as eml files to this folder (Safety Measure if you delete captured emails)
)
Save_As_EML_To_Folder="C:\VC\Captured_Emails\" 
\" 
//   if specified, attachments are saved as files to this folder. By default, if the file already exists, it gets overwritten. 
Save_Attachments_To_Folder="C:\VC\Captured_Email_Attachments\" 
\" 
//   optional. Default is False. If set to True, instead of overwriting, 4 characters are added to make the name unique 
//             note: if set to True AttachmentList info captured to the database table would reflect the unique names 
Save_Attachments_To_Unique_File_Names=True 
//   Table where email records are to be inserted. NOTE: If an existing record is found from  
//       same Sender, same Subject, and same sending DateTime, the record doesn’t get inserted a second tim
e.
Table=Email_Capture 
Last_Success=12:14:56-12:15:13=00:00:17 InBox:11 / Targeted:8 / Inserted:6 
C# PDF Library SDK to view, edit, convert, process PDF file for C#
accordingly. Multiple metadata types of PDF file can be easily added and processed in C#.NET Class. Capable C#.NET: Edit PDF Metadata. PDF SDK
pdf metadata viewer online; online pdf metadata viewer
C# TIFF: TIFF Metadata Editor, How to Write & Read TIFF Metadata
C# TIFF - Edit TIFF Metadata in C#.NET. Allow Users to Read and Edit Metadata Stored in Tiff Image in C#.NET Application. How to Get TIFF XMP Metadata in C#.NET.
pdf metadata viewer; analyze pdf metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 225 
Capturing Emails 
The process targets email messages that are stored at the specified email server for the specified 
User ID. Obviously, each capture process may want to target only a subset of these messages. To 
keep the process as efficient as possible, the capture progresses through two main phases:  
Header Download & Filtering 
Targeted Download & Database Capture 
The following sections provide more detail about these phases. 
Phase 1: Header Download & Filtering 
Visual CUT first downloads just the email headers (including first 50 lines of the message body) 
for all messages stored on the mail server for the specified User ID. While this process avoids the 
need to also download attachments, if you wish to keep the process fast, don’t let the In
box for 
that User grow to too many messages.  You can manually delete old email messages in the server  
Inbox,.  You can also set Delete_Email_From_Server to True, to automatically delete emails 
from the server after Visual CUT inserts them into the specified database table. 
For backup purposes, particularly if you are just starting to use this process, if you elect to delete 
emails from the server, you should set the Save_As_EML_To_Folder option. Visual CUT 
would then deposit all processed emails (those that survived the Filter and 
Message_Sent_in_Last_N_Minutes  conditions) as eml files. These files can be opened in the 
free  Windows Mail or Outlook Express. All file attachments are embedded inside the eml files, 
so you can be secure in knowing you have an archive of the whole message. 
The Filter and Message_Sent_in_Last_N_Minutes  take the initial set of partial downloads and 
produce a targeted subset of email messages that are then downloaded with full body as well as 
attachments.   
The Filter condition allows you to apply simple or composite conditions to any email property 
such as From, To, Subject, and Body. Here are a few examples:
Filter=Body like "Report Request*"  
Filter=(Subject contains "PO Approved" OR Subject contains "PO Rejected") AND  
From contains "@MilletSoftware.com"  
The expressions are not case sensitive.   
Supported operators: CONTAINSLIKE
=
<
,
>
<=
>=
<> 
The "
*
" wildcard matches 0 or more occurrences of any character.  
Parentheses can be used to control the logic. 
 
C# PDF Password Library: add, remove, edit PDF file password in C#
Able to change password on adobe PDF document in C#.NET. To C# Sample Code: Change and Update PDF Document Password in C#.NET. In
adding metadata to pdf files; c# read pdf metadata
C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
Able to edit and change PDF annotation properties such as font size or color. Abilities to draw markups on PDF document or stamp on PDF file.
batch edit pdf metadata; clean pdf metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 226 
Phase 2: Targeted Download & Database Capture  
After establishing a subset of targeted emails, Visual CUT downloads the full content of these 
emails.  For each of these fully downloaded emails, Visual CUT takes the following steps: 
1.  If Save_As_EML_To_Folder is specified, the full email message (with embedded 
attachments) is archived to the specified folder 
2.  A connection is established to the database server used by the report via the ODBC DSN 
used by the report and the encrypted login information stored for the report. 
3.  The existence of the specified table for capturing email information is confirmed 
4. 
If the same email message (same subject, send DateTime, and From info) doesn’t already 
exist in the table, the email information is inserted into the table. 
5.  If the message got inserted into the table, and you set the Delete_Email_From_Server 
option to True, Visual CUT asks the email server to delete the message.   
Monitoring Results of the Process 
If a failure occurs during the process, the usual failure alerts and logging processes apply. 
If no failure occurs, Visual CUT updates the ini section for the processed directive with an entry 
such as this:  
-------------------------------------- 
Last_Success=12:14:56-12:15:13=00:00:17 InBox:11 / Targeted:8 / Inserted:6 
-------------------------------------- 
This allows you to see: 
Start TimeEnd Time, and Total Time,  
Number of Messages In the InBox  
Number of Messages Targeted after applying Filter & Message_Sent_in_Last_N_Minutes   
Number of Messages Inserted to the Table (after skipping existing records) 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 227 
Email Capture Table Structure 
You can name a different table for each email capture directive.  But an email capture table must 
have the same data structure.  
MS Access Table Structure
Here is the table structure for MS Access: 
This table is included in the Visual_CUT_Log_Sample.accdb 
If you can’t find it in the Visual CUT application folder, email me and and I’ll send you a copy.
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 228 
SQL Server Table Structure  
Here is a script (provided by APB Reports) for creating the table structure in SQL Server:
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
SET ANSI_PADDING ON 
GO 
IF (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME = 'APB_DW_EMAIL_CAPTURE') IS NULL 
BEGIN 
CREATE TABLE APB_DW_EMAIL_CAPTURE 
[Email_N] [NUMERIC](15,0) IDENTITY(1,1)PRIMARY KEY CLUSTERED, 
[Status] [VARCHAR](100) DEFAULT 'CAPTURED', 
[CaptureDateTime] [VARCHAR](100) NULL, 
[LocalDateTime] [VARCHAR](100) NULL, 
[UTCDateTime] [VARCHAR](100) NULL, 
[Subject] [VARCHAR](500) NULL, 
[FromCombo] [VARCHAR](200) NULL, 
[FromAddr] [VARCHAR](200) NULL, 
[FromName] [VARCHAR](200) NULL, 
[ReplyTo] [VARCHAR](200) NULL, 
[ToList] [text] NULL, 
[ToAddrList] [text] NULL, 
[ToNameList] [text] NULL, 
[ccList] [text] NULL, 
[ccAddrList] [text] NULL, 
[ccNameList] [text] NULL, 
[BccList] [text] NULL, 
[BccAddrList] [text] NULL, 
[BccNameList] [text] NULL, 
[PlainTextBody] [text] NULL, 
[HTMLBody] [text] NULL, 
[Header] [text] NULL, 
[AttachmentList] [text] NULL); 
END 
GO 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 229 
Oracle Table Structure  
Here is a script (provided by APB Reports) for creating the table structure in Oracle:
CREATE TABLE EMAIL_FEEDBACK_CAPTURE 
"EMAIL_N" NUMBER NOT NULL, 
"STATUS" VARCHAR2 (100) DEFAULT 'CAPTURED', 
"CAPTUREDATETIME" VARCHAR2 (100) NULL, 
"LOCALDATETIME" VARCHAR2 (100) NULL, 
"UTCDATETIME" VARCHAR2 (100) NULL, 
"SUBJECT" VARCHAR2 (500) NULL, 
"FROMCOMBO" VARCHAR2 (200) NULL, 
"FROMADDR" VARCHAR2 (200) NULL, 
"FROMNAME" VARCHAR2 (200) NULL, 
"REPLYTO" VARCHAR2 (200) NULL, 
"TOLIST" CLOB NULL, 
"TOADDRLIST" CLOB NULL, 
"TONAMELIST" CLOB NULL, 
"CCLIST" CLOB NULL, 
"CCADDRLIST" CLOB NULL, 
"CCNAMELIST" CLOB NULL, 
"BCCLIST" CLOB NULL, 
"BCCADDRLIST" CLOB NULL, 
"BCCNAMELIST" CLOB NULL, 
"PLAINTEXTBODY" CLOB NULL, 
"HTMLBODY" CLOB NULL, 
"HEADER" CLOB NULL, 
"ATTACHMENTLIST" CLOB NULL, 
"REC_DELETED" NUMBER DEFAULT 0, 
CONSTRAINT APB_DW_EMAIL_CAPTURE_PK PRIMARY KEY (EMAIL_N) 
USING INDEX TABLESPACE IPSINDEX 
TABLESPACE IPSDATA; 
CREATE SEQUENCE EMAIL_N_SEQ START WITH 1 INCREMENT BY 1; 
CREATE OR REPLACE TRIGGER EMAIL_CAPTURE_INSERT 
BEFORE INSERT ON EMAIL_FEEDBACK_CAPTURE 
FOR EACH ROW 
BEGIN 
SELECT EMAIL_N_SEQ.NEXTVAL INTO :NEW.EMAIL_N FROM DUAL; 
END; 
COMMIT; 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 230 
Monitoring Visual CUT Processing 
Visual CUT provides several ways to monitor, log, and alert users about processing failures: 
An email alert can be sent to a specified address when a failure occurs.   
Processing can be recorded in an ODBC database 
Failures can be recorded in a Failure.log text file or presented in Message boxes  
Email communications with the SMTP server can be logged to Visual_Cut.log 
Job status information can be monitored by other applications by asking Visual CUT to 
signal successful or failed processing via text job status files
This section discusses how you can use these options.   
Logging and Monitoring Visual CUT 
‘Log Email Activity’ option 
This option, located at the bottom-right corner results in logging of all e-mail activity, 
including failure and success outcomes, to Visual_Cut.log  
This text file will be placed in the same directory where Visual CUT was installed (typically 
C:\Program Files\Visual Cut\).  It can be opened by Notepad or any word processor and is 
automatically created by enabling this option.  Here is what this log file looks like: 
Documents you may be interested
Documents you may be interested