c# pdf library comparison : Remove metadata from pdf file SDK application service wpf azure winforms dnn Visual_CUT_User_Manual15-part519

©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 151 
Adding Form Fields & Submit Buttons to PDF Files 
Using a command line argument, you can instruct Visual CUT to look for invisible tags inside 
the pdf file (Crystal formulas with font color set to background color) and to replace them with 
form fields such as Text, Checkboxes, Drop-Downs, and even Submit Buttons (to send form data 
as XML via email or URL). This means that you can use Crystal Reports to design pdf forms, 
and Visual CUT to generate and distribute these forms.  
Here's an example of the command line argument structure: 
… 
"PDF_Form_Tags:c:\temp\Sales in {@Year_Parameter}.pdf" 
The Crystal formulas act as tags for controlling the location, size, and content of these form 
fields.  So Visual CUT exports the report to pdf and automatically adds the form fields and any 
required JavaScript code.  Users can then enter information into the pdf file, submit (via email or 
url), print, or save the completed form.  
Sample PDF File with Form Fields & Submit Buttons 
You can download a sample of such a pdf export with form fields at:   
www.milletsoftware.com/Download/Visual_CUT_PDF_Export_with_Form_Fields.pdf
Remove metadata from pdf file - 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
delete metadata from pdf; bulk edit pdf metadata
Remove metadata from pdf file - 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
read pdf metadata; acrobat pdf additional metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 152 
Sample Crystal Report with Formulas as Form Field Tags 
You can download a sample report demonstrating the technique from: 
www.milletsoftware.com/Download/Visual_CUT_9_PDF_Form_Tag.rpt 
The sample report uses several formulas:  
PDF_Form_Field_Product_Comment (GF2) provides short text area for each Product 
PDF_Form_Field_Product_Checkbox (GF2) provides a checkbox to indicate if performance is OK  
PDF_Form_Field_Product_Type_Comment (GF1) provide multi-line text area for each Product Type.   
PDF_Form_Field_Product_Type_DropDown (GF1) provides a DropDown to indicate required Action  
PDF_Form_Field_Submit_Button_Email_XML (RF) Button to submit form data as XML via email   
PDF_Form_Field_Submit_Button_URL_XML (RF) Button to submit form data as XML via url   
PDF_Form_Field_Text_Secret (RH) provides a hidden form field (to include in XML)  
PDF_Form_Field_Text_URL (RH) provides a visible but uneditable form field  
Setting Up a Crystal Report with pdf field tags 
There are no restrictions on the number or names of the formulas you can use.  However, each rendered 
instance must provide a unique form field title (avoid dots). The formula text must be rendered all within 
the formula boundaries in a single line.  Use very small font sizes: 2 or even 1 to achieve this.   
Use non-proportional font for the tag formula (avoid Calibri and Bold/Italic).  
Obviously, you may not want to show the formula text on the resulting pdf file. You can turn the font 
color to White (or same as section background) to make the formula invisible. Better yet, if you keep the 
PDF_Tags_Delete_Default option in DataLink_Viewer.ini as True, Visual CUT removes the tag text 
after processing it. In order to allow Visual CUT to remove the tag text after it has been processed, be 
sure to replace any double quotes or parentheses in the tag text with single quote or square brackets. 
Each formula instance (Group Footer/Header as well as Page Header/Footer formulas may have many 
instances) can trigger the creation of a pdf form field. The location (top left corner) of each rendered 
formula instance controls the location of the pdf form field.  The width and height of the form field is 
controlled internally -- not by the formula field size.  
Note: to allow recipients of the pdf file to save the completed form, I recommend the following 
free pdf viewer: http://www.tracker-software.com/product/pdf-xchange-viewer 
Formula Example from the Sample Report 
The following page demonstrates and comments the structure of the required formula text for one of the 
formulas in the sample report. You can open the sample report to see the fully-commented syntax for the 
other form field types..  
C# PDF Password Library: add, remove, edit PDF file password in C#
C# Sample Code: Remove Password from PDF File in C#.NET. These C# demos will help you to delete password for an encrypted PDF file. // Define input file path.
change pdf metadata creation date; batch edit pdf metadata
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Remove bookmarks, annotations, watermark, page labels and article threads from PDF Document and metadata. NET Demo Code to Optimize An Exist PDF File in Visual
edit pdf metadata acrobat; pdf metadata viewer online
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 153 
Here is the {@
PDF_Form_Field} formula from the sample report at:   
www.milletsoftware.com/Download/Visual_CUT_9_PDF_Form_Tag.rpt 
// Make the font size small (even 1 point). Text must stay in formula boundaries in SINGLE line! 
// Turn the font color to White to make the formula invisible. Or, if PDF_Tags_Delete_Default in  
// DataLink_Viewer.ini is True, tag text is removed automatically after processing. 
// Location (top left corner) of the rendered formula instance control location of pdf form field. 
// The formula always starts with "#Form_Tag::" and ends with "#" 
"#Form_Tag::" + 
"350;50" + "||" +   // field boundaries in points: width;height (or shift_x;shift_y;width;height)  
{Product_Type.Product Type Name} + "_Comments" + "||" + // UNIQUE title of form field 
"TEXT" + "||" + // type of form field: TEXT/DropDown/CheckBox/Submit_Button   
"0" + "||" + // max number of allowed characters.  Set to "0" if no restriction. 
"NotComb" + "||" + // "Comb" or "NotComb" field (if Comb, specify max number of characters 
// above to create an equally spaced "comb" field effect)  
"Left" + "||" +     
// alignment:  "Left", "Center" or "Right" 
"1;Inset;0;0" + "||" +  // Field Border: line width;style (Solid, Dashed, Beveled, or Inset); 
// length of dash;length of dash space   
"230;230;230" + "||" +  
// Border color using RGB (0;0;128 = Navy Blue) 
"255;255;255" + "||" + // Background Color ("255;248;220" = cornsilk1, "255;255;255" = White) 
"0;0;0" + "||" +  
// Text Color ((0;0;0 = Black) 
// Possible font types
: Courier, CourierBold, CourierBoldItalic, CourierItalic 
// Helvetica, HelveticaBold, HelveticaBoldItalic, HelveticaItalic 
// TimesRoman, TimesBold, TimesItalic, TimesBoldItalic  
"CourierBold;10" + "||" + // Font type and size 
// Initial Field Text Value (Use "" to specify an empty field)  
iif({Product_Type.Product Type Name} in ["Saddles", "Locks"], "", "Comments on the 
information for " + {Product_Type.Product Type Name} + ": ") +  "||" +  
"NoScroll" + "||" +  // Scroll or NoScroll 
"MultiLine" + "||" +   // SingleLine or MultiLine 
"SpellCheck" + "||" +  // SpellCheck or NoSpellCheck 
// --- new options in 6.2002: --- 
// tool tip shown when hovering over field. Use "Same_As_Text" to display Field Text value  
"Product Type Comments [Mandatory if Action is 'Meeting' or 'Conference Call']" + "||" +  
"False" + "||" + // Read Only status. If True, user can see but not change the value 
"False" + // Hide Field? Useful when user should not see a submitted value  
"#"      // The formula always ends with "#" 
VC removes pdf processing tags from the pdf file (after processing) if PDF_Tags_Delete_Default 
under the [Options] section of DataLink_Viewer.ini is left as True.  To ensure all tags are removed, 
use Replace() to change double quotes into single.  For example, the form field title can be: 
Replace({Product_Type.Product Type Name},"""","'") + "_Comments"  
To accommodate more text in the tag, you may embed references to fields/formulas in it. 
To specify child form fields, specify a title of Parent_Field_title.Child_Field_Title.  
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
Ability to remove consecutive pages from PDF file in VB.NET. Enable specified pages deleting from PDF in Visual Basic .NET class.
remove metadata from pdf file; pdf metadata online
VB.NET PDF remove image library: remove, delete images from PDF in
Image: Insert Image to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process.
read pdf metadata java; edit pdf metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 154 
Populating Form Field Text or Description via ODBC Query 
When dealing with multiline text form fields, you may need to populate the text of the field with 
very long text that might cause the tag content to spill over more than 1 line.  To address that 
scenario you may embed a directive to execute a SQL Query via ODBC inside the options for 
Initial Text or Field Description (tooltip) and Visual CUT would replace the directive with its 
dynamic result. 
Here is an example of what the Crystal formula may look like: 
"#Form_Tag::" + "350;50" + "||" +  {Product_Type.Product Type Name} + "_Comments" + "||" 
+  "TEXT" + "||" + "0" + "||" + "NotComb" + "||" + "Left" + "||" + "1;Inset;0;0" + "||" + 
"230;230;230" + "||" + "255;255;255" + "||" + "0;0;0" + "||" + "CourierBold;10" + "||" +  
// Initial Field Text Value (populated via SQL Query  
"{ODBC:Customers:: :: ::SELECT [Name] FROM [CUST] WHERE [Cust_ID] = 6}" +  "||" +  
"Scroll" + "||" + "MultiLine" + "||" + "SpellCheck" + "||" +  
"Product Type Comments [Mandatory if Action is 'Meeting' or 'Conference Call']" + "||" +  
"False" + "||" + "False" + "#"   
The expression starts with 
{ODBC:
followed by 4 elements separated by 
:: and  
ends with }
1. 
ODBC DSN
(Note: could be different from the DSN used for the Crystal report) 
2. 
User ID
(use a single space if not needed, as shown above) 
3. 
Password
(use a single space if not needed, as shown above) 
4. 
SQL Statement
MS Access Example: 
{ODBC:Customers::User_ID::Password::SELECT [email] FROM [Contacts] WHERE 
[Customer_ID] = '301'
}
SQL Server Example: 
{ODBC:CONTACTS::sa::xxxxx::SELECT AHD.ctct.Comments FROM 
AHD.ctct where AHD.ctct.Comments IS NOT NULL} 
Notes:  
If the SQL statement returns multiple rows, Visual CUT takes care of concatenating the 
text from all the rows to a single string with carriage return and line feed as the delimiter. 
The SQL statement syntax depends on your database.  For example, as shown in the 
samples above, MS Access uses [ ] around field/table names but SQL Server doesn't. 
You would typically build the expression while using some field/formula values (not 
names) to control the WHERE clause.  
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Ability to remove a range of pages from PDF file. Free trial package for quick integration in .NET as well as compatible with 32 bit and 64 bit windows system.
metadata in pdf documents; remove pdf metadata
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. Document and metadata. C#.NET DLLs: Compress PDF Document.
analyze pdf metadata; pdf xmp metadata editor
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 155 
Filling PDF Forms 
Using a command line argument, you can instruct Visual CUT to fill the fields in a given PDF 
Form and save the result into a new PDF file.  Here's an example of the command line argument 
structure: 
… 
"PDF_FORM:c:\temp\MyForm.pdf>False" 
The parameters (after the "PDF_FORM:") are separated by a ">" and are as follows: 
1. The path & name of the PDF form file (used as a template).  
2. Flatten form fields (True or False)?  If True, as field values get substituted by formula values 
from the Crystal report, Visual CUT turns the form field into a static portion of the PDF file.  
This means the field will no longer act as a field in the new pdf file.  It will simply behave as a 
static portion of the new PDF file. 
Setting Up a Crystal Report to Act as a PDF Form Filler 
Each field in a PDF form has a name ("title" in pdf lingo).  In order to fill (or substitute) the 
value of such a field, your Crystal report should have a string formula with the same name as the 
PDF form field.  For example, if you desire to fill a PDF form field called "f1-1", you should 
create a Crystal formula called "f1-1" providing the desired value for that field. In order to 
supply a value for a checkbox field (as shown below), use "Yes" as the value for checked and 
"No" for the value for unchecked. 
The Crystal formulas should be placed in the report header/footer if the value is the same for all 
records in the report.  It should be placed in Group Level 1 Header/Footer if the value changes 
for each Level 1 group and you are bursting (generating a different PDF file for each Level 1 
Group).  As usual, you may suppress the formulas.   
Setting Up the Report in Visual CUT 
In Visual CUT, simply set the report to export to PDF and specify the export file name. As usual, 
you may make the export file path and/or name dynamic (reflecting field/formula values from 
the report.  Note that if you use the PDF_FORM command line argument, Visual CUT will not 
export the report to PDF.  Instead, Visual CUT would substitute the form fields in the Form File 
(specified in the command line argument) and then save the result to the specified export file 
name. 
VB.NET PDF File Permission Library: add, remove, update PDF file
Image: Insert Image to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process.
read pdf metadata online; remove pdf metadata online
C# PDF bookmark Library: add, remove, update PDF bookmarks in C#.
Help to add or insert bookmark and outline into PDF file in .NET framework. Ability to remove and delete bookmark and outline from PDF document.
pdf metadata editor online; edit pdf metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 156 
Setting PDF Document Properties after Export (Automatic) 
After PDF exports, Visual CUT sets the PDF document summary information according to the 
summary information set for the report in Crystal.       
 
This functionality, as well as the PDF Bookmarks functionality described in the previous section, 
are enabled by default.  To turn it off, use the Options dialog and uncheck the option of "PDF 
Exports include Document Properties and Bookmark Processing." 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 157 
Flatten PDF Files 
You can flatten form fields and annotations in pdf files via the command line argument of 
PDF_Flatten. Here's an example of the command line argument structure: 
"PDF_Flatten:c:\Before\*.pdf>>MyPassword>>c:\After\" 
or  (for a case with no password): 
"PDF_Flatten:c:\Before\*.pdf>>>>c:\After\"      
or (for a case without target folder: 
"PDF_Flatten:c:\Before\*.pdf>>MyPassword>>" 
or (for a case without password and no target folder: 
"PDF_Flatten:c:\Before\*.pdf>>>>" 
The parameters (after the "PDF_Flatten:") are separated by a ">>" and are as follows: 
1. PDF file(s):  comma separated list. Can use wild cards!  
2.  Password (leave blank if the pdf files are not password protected)  
3.  Target Folder (leave blank if the flattened pdf files should replace the original files)  
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 158 
Setting PDF Document Properties 
You can specify the pdf document properties via the command line argument of 
PDF_Properties. Here's an example of the command line argument structure: 
"PDF_Properties:c:\test.pdf>Ido>{@Invoice_N}>Invoice>Invoice>Ido>Millet Software" 
The parameters (after the "PDF_Properties:") are separated by a ">" and are as follows: 
1. PDF file(s):  comma separated list. Can use wild cards!  
2.  Author of the PDF file 
3.  Title  
4.  Subject 
5.  Keywords 
6.  Creator 
7.  Producer 
---------------------------------------------------------------------- 
8. Page Mode:    Normal (or blank)/Outlines/Thumbnails/FullScreen/OCG/Attachments 
9.  Open Page  (1 is default) 
10. Zoom     
(75 for 75%, 0 for default, -1 for fit in window, -2 for fit width) 
---------------------------------------------------------------------- 
11. Custom Properties (Name1::Value1||Name2::Value2)  
For example, "
…>
Case Type::Abduction||Case Manager::Officer Krupke" 
Any number of pairs delimited by || with a :: separating Key Name from Key Value. 
Notes:  
To target multiple files, specify a list separated by commas.  
You can use wild cards to target multiple files (e.g. c:\temp\test.pdf,c:\temp\Inv*.pdf
Specify the first 7 elements, or all 10 elements, or all 11 elements 
As usual, any of these elements can contain references to fields or formulas and Visual 
CUT would dynamically replace the reference with the value in the report. 
Page Mode controls what panels are visible when the pdf file is initially opened.  
Outlines: Show the bookmarks pane  
Thumbnails: Show the thumbnails pane 
FullScreen: Show the pdf in full screen mode 
OCG: shows the Optional content group pane 
Attachments: shows the attachments pane  
If you wish to avoid setting/overriding any of these properties, just leave them blank.   
For example, to set just the author and the subject, the command line may look like this: 
"PDF_Properties:c:\Inv\*.pdf,c:\test.pdf>Ido>>{@Invoice_N}>>>>Outlines>1>100" 
Specifying Custom Properties is the same as manually specifying them in Acrobat Pro 
using File, Properties, Custom Tab. These properties show up in the list of document 
properties and can be useful for users and for document management systems. 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 159 
Building an Index PDF Documents 
You can build a full-text index for multiple pdf files via the command line argument of 
PDF_Build_Index. Here's an example of the command line argument structure: 
"PDF_Build_Index:c:\temp\dir1||c:\temp\dir2>c:\temp\Index.pdx>" 
The parameters (after the "PDF_Build_Index:") are separated by a ">" and are as follows: 
1. List of folders (separated by "||") containing pdf files to be indexed 
Notes: 
a.  All pdf files found in these folders and all subfolder (recursive) will be indexed. 
b.  Do not include a backslash at the end of each folder path. 
2. Index (.pdx) file path and name  
Notes: 
a.  The pdx file will be deleted, if it already exists, when the process starts 
b.  If an "Index" folder exists under the folder destination for the pdx file, that folder 
is deleted when the process starts because this folder needs to be created from 
scratch by the indexing process.  
3.  Options: leave blank.  Reserved for future needs such as specifying maximum amount of 
time the process should require.  The default is 2 hours. 
Notes: 
On the Visual CUT machine, Acrobat Pro must be installed and the build index button must be 
located on the toolbar like this: 
As usual, any of these arguments can contain references to fields or formulas and Visual CUT 
would dynamically replace the reference with the value in the report.  For example: 
… 
"PDF_Build_Index:{@Folders}>c:\temp\Index.pdx>" 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 160 
Adding an Index File to a PDF Document 
You can add an index (.pdx file) reference to a pdf document via the command line argument of 
PDF_Add_Index. Here's an example of the command line argument structure: 
"PDF_Add_Index:c:\test.pdf>c:\textMyIndex.pdx>PDX" 
The parameters (after the "PDF_Add_Index:") are separated by a ">" and are as follows: 
1.  PDF file path & name 
2.  Index (.pdx) file path and name (on the machine where the pdf file will be used)  
3. Index Label (must always be "PDX" - Other values would be converted to "PDX"
Note: Index file path can be specified as relative to the PDF file location.   
For example:   ..\Index.pdx 
Documents you may be interested
Documents you may be interested