c# pdf library comparison : Edit pdf metadata control software system azure windows winforms console Visual_CUT_User_Manual13-part517

©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 131 
The sample PDF: 
demonstrates a case of embedded pdf files within embedded pdf files. It was created using a 
batch file with 3 command lines:  
1st line bursts a report to generate the lowest-level pdf files (one file for each Product). 
2nd line bursts a report to Product Type PDFs and embed in them the Product PDFs. 
3rd line exports the Master PDF and embeds in it the Product Type PDFs. 
"C:\Program Files\Visual CUT 11\Visual CUT.exe" -e "C:\temp\DrillDowns2_By_Product.rpt" 
"C:\Program Files\Visual CUT 11\Visual CUT.exe" -e "C:\temp\DrillDowns1.rpt"  
"PDF_Link_Tags2:c:\temp\Sales for {Product_Type.Product Type Name}.pdf" 
"C:\Program Files\Visual CUT 11\Visual CUT.exe" -e "C:\temp\Master.rpt" 
Note: the PDF_Compress command line argument can reduce the resulting pdf file size. 
Edit 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
remove metadata from pdf online; pdf keywords metadata
Edit 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
batch update pdf metadata; view pdf metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 132 
Adding Links to Files by Detecting File References in PDF Text  
Using a command line argument, you can instruct Visual CUT to look for file references in the 
text of a pdf file and automatically add colored hotspots over these file references that link to the 
specified files.  Here's an example of the command line argument structure (all in 1 line): 
The parameters (after the ":") are separated by ">>" and are as follows: 
1. Source pdf file to process 
2. Base Path where the linked files are found. There are several options here: 
a) no base path (leave blank) if the file references in the pdf are specified with full paths  
b) simple base path (e.g., c:\my archive\) to prefix any file reference  
c) relative path: . (for same folder as the pdf file) .. (for parent folder), etc.  
3. File Extensions to process (separated by a semi-colon).  
4. Start Text indicating start of file reference.  In the example above, file references are assumed 
to always start after a 
5. Number of characters to include in the file reference from the Start Text. In the example 
above, no text (0 characters) from the Start Text is included. However, there can be many cases 
where some text should be included. For example, if the Start Text is (c:\ then the number of 
characters to include should be 3
6. End Text indicating end of a file reference. In the example above, file references are assumed 
to always end with a 
(note: can be left blank)  
7. Color of Hot Spot in RGB Values (e.g., yellow: 255;255;0).  Note: drawn with 80% 
transparency, so use strong colors. (see RGB #s at: http://web.njit.edu/~kevin/rgb.txt.html ) 
8. True/False: Should Visual CUT check for file existence of the file references and generate a 
failure message listing all missing files (note: the output file with the generated links will still be 
generated, but the process will report a failure and further actions such as emailing would be 
9. The Output PDF File. If left blank, the source pdf file would be updated. 
 Machine must have at least one printer installed 
Here is an example of yellow hotspots and links generated for file references detected inside 
a pdf file:                                     
How to C#: Modify Image Metadata (tag)
edit, C#.NET PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET search text in PDF, C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET
endnote pdf metadata; search pdf metadata
C# TIFF: TIFF Metadata Editor, How to Write & Read TIFF Metadata
Tiff ›› C# Tiff: Edit 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.
pdf xmp metadata viewer; pdf metadata reader
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 133 
Detecting Additional File References Using Wild Card Tokens  
The approach above relies on start and end strings. However, there are scenarios where the text 
to be de
tected doesn’t have consistent start and end strings.  Instead, the target text may have a 
predictable structure such as DOC##### where the text always starts with ‘DOC’ and continues 
with 5 digits (e.g., ‘DOC01207’).  
When a command line already has a 
argument, you can direct Visual CUT 
to search for and generate links for additional targets by adding a command line argument such 
as this: 
Alternatively, you can set this as a global option by adding the following entry in 
DataLink_Viewer.ini (under the [Options] section): 
Additional target are separated by ‘||’ and include the 
relative or absolute path to the target files. 
The process attempts to locate text targets with the specified file extension as well as without it. 
In the examples above, the first additional target is any text containing a pattern matching: 
a) MM#####.wmv  (for example MM12345.wmv
b) MM##### (for example MM12345
Note: the only wild cards allowed for this option are: 
1. # : matched any single digit in that position 
2. ? : matches any single character (including digits) in that position 
C# PDF bookmark Library: add, remove, update PDF bookmarks in C#.
|. Home ›› XDoc.PDF ›› C# PDF: Edit PDF Bookmark. C#.NET PDF SDK - Edit PDF Bookmark and Outline in C#.NET. Empower Your C#
c# read pdf metadata; pdf remove metadata
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
Note. |. Home ›› XDoc.PDF ›› C# PDF: Add Sticky Note. C#.NET PDF SDK - Add Sticky Note to PDF Page in C#.NET. Able to change font size in PDF comment box.
adding metadata to pdf; rename pdf files from metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 134 
Adding Digital Signature to a PDF File 
You can instruct Visual CUT to add a digital signature to a PDF file. The command line 
argument structure is as follows (as always, it must be all in one line): 
The parameters (after the ":") are separated by ">>" and are as follows: 
1. Input File: path and name of the pdf file to sign 
2. Output File: leave blank if you wish to overwrite the original pdf file  
3. Open_Password: if the pdf file is not password protected, leave this option blank  
4. Signature Field Name: 
if the field doesn’t already exist, Visual CUT creates it 
5. pfx File: path and name of the PKCS#12 certificate/private key file (.pfx file) 
6. pfx_Password: password to open the pfx file 
7. Reason: optional text indicating reason for signing  
8. Location: optional text indicating where the document was signed (e.g., New York) 
9. Contact: optional text indicating contact information for the signer  
As always, 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 3
tab within Visual CUT.  The 
dynamic content of these fields/formulas would be substituted into the command line argument. 
C# PDF Library SDK to view, edit, convert, process PDF file for C#
C#.NET: Edit PDF Metadata. PDF SDK for .NET allows you to read, add, edit, update, and delete PDF file metadata, like Title, Subject
batch pdf metadata editor; add metadata to pdf programmatically
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.
pdf xmp metadata; add metadata to pdf file
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 135 
Encrypting & Protecting a PDF File 
You can instruct Visual CUT to protect (using advanced 128-bit AES encryption) the exported 
(or any other) PDF file.  The command line argument structure is as follows: 
The parameters (after the ":") are separated by a ">" and are as follows: 
1. Owner_Password: Keep this password to yourself.  It provides full control over the PDF file.  
2. User_Password: Give this password to the recipient. The following arguments control  
what the user can do with the PDF file.  
NOTE: If you wish to protect the file but not prompt the user for a Password, leave the  
User_Password option blank.  
For example: "PDF_PROTECT:Owner_Pass>>1>1>0>1>1>"  
3. Allow User to Print the File: (1=Yes, 0=No) 1 is typical.  
4. Allow User to Copy Text & Images from the File: (1=Yes, 0=No) 1 is typical.  
5. Allow User to Edit/Change the File: (1=Yes, 0=No) 0 is typical.  
6. Allow User to Add Notes to the File: (1=Yes, 0=No) 1 is typical.  
7. Allow User to Print in Full Resolution: (1=Yes, 0=No) 1 is typical. 
Setting this to zero would force low-resolution printing, preventing the document from being 
distilled into a new unrestricted PDF document. 
8. OPTIONAL: The PDF file path & name (for example, c:\temp\other_file.pdf).   
Leaving this argument blank, would default to processing the file being exported.   
Providing a file name would direct processing to the specified file (even if it's not the  
exported PDF file.   
9.   OPTIONAL: Allow user to Fill Form Fields (if blank, assigned same value as #5 above) 
10. OPTIONAL: Allow Copy for Accessibility (if blank, assigned same value as #4 above) 
11. OPTIONAL: Allow user to assemble document  (if blank, assigned same value as #5 above) 
12. OPTIONAL: New PDF file path & name (for example, c:\temp\protected.pdf
When left blank, the protected version is saved under the original file path & name.   
Specify a new file here if you wish to retain the original unprotected version.  
-- option below is new in 6.4002 --- 
13. OPTIONAL: Encryption Strength:   128 =
Default 128-bit AES (requires Acrobat 7 or later) 
256 =
256-bit AES (requires Acrobat 9 or later) 
for example: 
Note: 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 3
tab within Visual CUT.  The 
dynamic content of these fields/formulas would be substituted into the command line argument. 
Among other things, this allows you to easily protect individual PDF exports with different 
passwords for each group.  For example (all in one line): 
"PDF_PROTECT:my_pass>{@Emp_Pass}>1>1>0>1>1>c:\{@Year} Archive\Sales 
For {Emp_Name} in {@Month_Name}.pdf" 
How to C#: Basic SDK Concept of XDoc.PDF for .NET
XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document Various PDF annotation features can be integrated into your C# project, such Metadata.
edit pdf metadata online; extract pdf metadata
VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
VB.NET PDF - PDF Annotation in VB.NET. Guide to Draw, Add and Edit Various Annotations on PDF File in VB.NET Programming. Annotation Overview.
online pdf metadata viewer; batch pdf metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 136 
Merging PDF Files 
Using a command line argument, you can instruct Visual CUT to merge any number of PDF 
files.  While each Crystal report is limited to a single paper orientation (either portrait or 
landscape), this feature allows you to combine multiple report outputs even if they have 
different paper orientations.  The command line argument structure is as follows: 
The parameters (after the ":") are separated by a ">" and are as follows: 
1. PDF_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 may specify the full path just for the first file.  
As discussed in the next few pages, you can use wild cards, file lists in text files, and   
dynamic references to specify the files to be merged. 
2. PDF_File_Target: the file path & name for the resulting merged PDF file. 
3. OptionalBM_By_FileName add a bookmark for each file according to its file name.  
4. Optional: leave blank or specify: M1 , M2, or M3  
These codes direct Visual CUT to use alternative merge methods that differ in their speed and 
approach. If the default approach is not 100% successful, try one of these alternatives.   
5. Optional: owner password in case one or more of the source files is password protected. All 
the encryption settings (owner and user passwords, and protection settings) of the last protected 
file in the list of source files would be applied to the resulting merged document.  
If a source file is not found, a warning is written to Failure.log and the process continues 
after skipping that file.   
specifying the 4
/ 5
optional argument requires that you also specify the 3
/ 4
(you can leave the 3
arguments blank as in: file list>target>>M2>>sesame). For 
M2 is fast but may have problems with input files that have different page orientations. 
M3 should not be used when using the techniques described in "Specifying Bookmarks when 
Merging PDF Files" or in "Using the Merged File Names to Generate Bookmarks". It is 
useful in cases where M2 fails to handle certain malformed pdf files.  
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 137 
Dynamic File Names 
You can use field or formula names within the command line argument. The dynamic content of 
these fields/formulas would be substituted into the command line argument.  
For example, you can use Visual CUT to: 
1. burst Sales information (Portrait) by Product Type into individually named pdf files 
2. burst Returns information (Landscape) by Product Type into individually named pdf files 
3. burst Complaints information (Portrait) by Product Type into individually named pdf files    
AND at that stage, use a command line argument to merge the 3 outputs for each Product 
Type, by using the following command line argument  
(Note: you should have no line breaks in the actual command line):  
If the current bursting cycle is for a Product_Type of "Gloves," the command line argument 
then gets processed as: 
You can then e-mail (or staple-print) the combined PDF file to each Product Type manager. 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 138 
Using a Text File to Specify Files for Merging 
If you have a text file containing the list of files to be merged, such as shown below, you can 
instruct Visual CUT to use the text within that file as the list of files to be merged using the key 
word "List_File:" followed by the path & name of the text file. For example: 
Using Wild Cards to Specify Files for Merging 
You can also specify file names using wild cards.   
For example, to send all pdf files in the current month folder under the current customer:  
and to merge all pdf files that start with the current Customer ID:  
Controlling Merged Bookmark Colors 
Note: these instructions are no longer needed.  From November 9, 2009, Visual CUT keeps 
bookmark colors during merging of pdf files. Only for backward compatibility, the older 
functionality below is preserved. 
During the merging process, bookmark colors (see Controlling PDF Bookmark Colors (& Text) 
on page 116) from the first file in the merged list are maintained.  To apply colors to the merged 
bookmarks from any file, you include (anywhere) in the Bookmark Label the color constants of 
crMrgRedcrMrgBlue or crMrgGreen (note: case sensitive). Visual CUT would then set the 
color of the bookmark text accordingly (and remove the color constant text from the label).   
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 139 
Specifying Bookmarks when Merging PDF Files 
During the merge process, you may want to add bookmarks for each input pdf file, so that the 
user can easily navigate the merged pdf file. To demonstrate how this can be done with Visual 
CUT, imagine you need to merge 4 pdf files: 
2 pdf files with information about sales:  
2 pdf files with information about profits:  
You want the merged pdf to include bookmarks linking to the 
starting page of each of these 4 sections.  The bookmarks 
should look like the example on the right: 
Visual CUT allows you to specify, for each pdf file being merged, a chain of bookmark levels to 
which the content would be linked.   
Let's assume you use the option to specify the list of files to merge using a text file 
(c:\temp\my_list.txt).  The command line may look like this:   
and the c:\temp\my_list.txt would look like this: 
c:\temp\Product_Sales{BM:Sales||+||1||225;0;0>>By Product||-||0||0;0;0}.pdf 
c:\temp\Region_Sales{BM:Sales||+||1||225;0;0>>By Region||-||0||0;0;0}.pdf 
c:\temp\Product_Profits{BM:Profit||+||1||225;0;0>>By Product||-||0||0;0;0}.pdf 
c:\temp\Region_Profits{BM:Profit||+||1||225;0;0>>By Region||-||0||0;0;0}.pdf 
The information about the top-level bookmarks associated with each file is embedded within an 
tag, just before the ".pdf" ending the file name.   
Each node in the top-level bookmark chain is separated by 
and contains 4 elements separated 
(2 vertical bars): 
1. Title: the text to appear as the label of the bookmark 
2. Expand Status:  + to open the bookmark or 
to collapse it.  
3. Style:  0=regular  1=Bold   2=Italic   3=Italic Bold 
4. Color as RGB:  3 numbers between 0 and 255 separated by ";"  
Black=0;0;0  Maroon=225;0;0 etc. (see RGB #s at: http://web.njit.edu/~kevin/rgb.txt.html ) 
So the first line in the file merges Product_Sales.pdf and link its starting page to a "Sales" 
bookmark (expanded, bold, Maroon) and, below that, a "By Product" bookmark (collapsed, 
regular, Black).  The second file uses the same top node and adds a "By Region" Bookmark.
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 140 
1.  If the top nodes in the chain already exist, only the lower new nodes would be created.  
This is why in the example above, the Sales and Profit nodes are each created only once.   
2.  If the merged pdf file contains bookmarks, they will be transferred under the lowest node 
in the specified node chain for the file.  
3.  The resulting bookmarks are detected by the PDF_TOC command line argument, so you 
can automatically create a table of contents based on them. 
4.  You can use field or formula names within the PDF_Merge command line argument (just 
like you drag & drop fields & formulas into the various options in the 3
tab within 
Visual CUT.  You can even do the same with the content of the text file specifying the 
files to merge.  The dynamic content of these fields/formulas would be used.  In the case 
of specifying bookmarks during the merge process, this means that the title, style, and 
color of these bookmarks can be controlled via the Crystal report fields, parameters, and 
formula logic. 
Using the Merged File Names to Generate Bookmarks 
Particularly when using wildcards to merge files, but also when wishing to avoid the effort of 
manually specifying bookmark labels and styles, you can simply instruct Visual CUT to add 
bookmarks based on the file name of each merged pdf file. 
To enable this functionality, you add a 3
part to the PDF_MERGE command line argument: 
"PDF_MERGE:c:\{@Branch}\*.pdf >c:\temp\{@Branch} Reports.pdf>BM_By_FileName" 
As shown in the example above, you simply add >BM_By_FileName to the end of the command 
line argument.   
In the example above, several reports may be bursted to different {@Branch} folders.  The last 
report may include a PDF_Merge command line argument so that each bursting step for that 
report will also take care of merging all the pdf files in the currently processed Branch and add 
bookmarks based on the file names being merged. 
Obviously, the bookmark labels do not include the path to the pdf file nor the ‘.pdf’ extension.
Documents you may be interested
Documents you may be interested