29 
You can also add local links, which when clicked take the user to another location within the same 
PDF document. This type of link is useful when you want to implement some type of cross-
referencing within the document, such as a table of contents or an index. 
Local links are identical to regular hyperlinks, except for two things: 
The url parameter must start with a "#". 
You must specify the target location for the link using the AddTarget method. The 
AddTarget method takes the same parameters as AddLink, a string that specifies the name 
of the target and a rectangle that marks the area on the page that will be displayed when 
the user selects the link. 
Attaching Files to a PDF Document 
Using ComponentOne PDF for .NET Adding Bookmarks and Annotations > Attaching Files to a PDF 
Document 
Adding file attachments to PDF files is often a useful feature. Attachments can contain any kind of 
file, including spreadsheets with detailed information that would clutter the main document, 
multimedia files with movies and sound, sample code, and so on. 
Add email link to pdf - insert, remove PDF links in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
add links to pdf in preview; convert a word document to pdf with hyperlinks
Add email link to pdf - VB.NET PDF url edit library: insert, remove PDF links in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
add a link to a pdf in acrobat; add hyperlink to pdf acrobat
30 
Adding file attachments to your PDF for .NET documents is easy. All you have to do is call the 
AddAttachment method and specify which file you want to attach, what area of the page should 
contain the attachment, and optionally, the appearance of the attachment. 
For example, the following code attaches all files in the application directory to the PDF document: 
To write code in Visual Basic 
Visual Basic 
Dim rect As New RectangleF(100, 100, 60, 10) 
Dim font As New Font("Arial", 9) 
' Attach some files. 
Dim path As String = "c:\temp\files" 
Dim file As String 
For Each file In Directory.GetFiles(path) 
Dim width As Single = rect.Width 
rect.Width = rect.Height 
_c1pdf.FillRectangle(Brushes.Gray, rect) 
_c1pdf.AddAttachment(file, rect) 
rect.Width = width 
rect.X += rect.Height 
_c1pdf.DrawString(Path.GetFileName(file), font, Brushes.Black, rect) 
rect.X -= rect.Height 
rect.Y += 2 * rect.Height 
Next file 
To write code in C# 
C# 
RectangleF rect = new RectangleF(100, 100, 60, 10); 
Font font = new Font("Arial", 9); 
// Attach some files. 
string path = @"c:\temp\files"; 
string[] files = Directory.GetFiles(path); 
foreach (string file in files) 
float width = rect.Width; 
RasterEdge.com General FAQs for Products
copy and email the secure download link to the assistance, please contact us via email (support@rasteredge & profession imaging controls, PDF document, image to
add a link to a pdf in preview; pdf link to attached file
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Create PDF file from PowerPoint free online without email. Add necessary references
add links to pdf; add links in pdf
31 
rect.Width = rect.Height; 
_c1pdf.FillRectangle(Brushes.Gray, rect); 
_c1pdf.AddAttachment(file, rect); 
rect.Width = width; 
rect.X += rect.Height; 
_c1pdf.DrawString(Path.GetFileName(file), font, Brushes.Black, rect); 
rect.X -= rect.Height; 
rect.Y += 2 * rect.Height; 
Here's what the PDF document looks like in Adobe's Acrobat Reader: 
The attachments are displayed as icons (you can select from four predefined icons in the 
AttachmentIconEnum enumeration and you can also select the icon color). When the user moves 
the mouse over the attachment, the file name is displayed and the cursor changes to indicate there 
is an attachment available. The user can then right-click the attachment name to open the 
attachment or save it to a file. 
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Free online Word to PDF converter without email. Add necessary references:
check links in pdf; add hyperlink to pdf
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Convert Excel to PDF document free online without email. Add necessary references:
clickable links in pdf files; add hyperlinks to pdf online
32 
Applying Security and Permissions 
Using ComponentOne PDF for .NET > Applying Security and Permissions 
By default, anyone can open, copy, print, and edit PDF files. If your PDF documents contain sensitive 
information, however, you can encrypt them so that only authorized users can access it. 
There is a separate password for the owner of the document and for all other users. The user's 
access can be selectively restricted to allow only certain operations, such as viewing, printing, or 
editing the document. 
PDF for .NET provides a C1PdfDocumentBase.Security property that returns a PdfSecurity object. 
This object has properties that allow you to specify the owner password (required to change 
passwords and permissions for the document) and the user password (required to open the 
document). Additionally, the PdfSecurity object allows you to specify what permissions a regular 
user should have. For example you may allow users to see the document but not to print or edit it. 
To use the PDF for .NET security features, simply set the passwords before you save the document. 
For example: 
To write code in Visual Basic 
Visual Basic 
' Create the document as usual. 
CreateDoc() 
' Set passwords. 
_c1pdf.Security.OwnerPassword = "2mds%dffgd" 
_c1pdf.Security.UserPassword = "anyone" 
_c1pdf.Security.AllowEditAnnotations = False 
_c1pdf.Security.AllowEditContent = False 
_c1pdf.Security.AllowPrint = False 
' Save the encrypted document. 
_c1pdf.Save("") 
To write code in C# 
C# 
// Create the document as usual. 
CreateDoc(); 
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
Create editable Word file online without email. C#.NET DLLs and Demo Code: Convert PDF to Word Document in C#.NET Project. Add necessary references:
adding hyperlinks to pdf files; add hyperlink to pdf in
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
Create editable Word file online without email. In order to convert PDF document to Word file using VB.NET programming code, you have to Add necessary references
adding an email link to a pdf; convert excel to pdf with hyperlinks
33 
// Set passwords. 
_c1pdf.Security.OwnerPassword = "2mds%dffgd"; 
_c1pdf.Security.UserPassword = "anyone"; 
_c1pdf.Security.AllowEditAnnotations = false; 
_c1pdf.Security.AllowEditContent = false; 
_c1pdf.Security.AllowPrint = false; 
// Save the encrypted document. 
_c1pdf.Save(@"c:\reports\secure.pdf"); 
Note that you can specify permissions and set only the owner password, leaving the user password 
empty. In this case, anyone will be allowed to open the document, but only the owner will be 
allowed to change the permissions. 
Note also that the encryption scheme used by PDF for .NET is public and is not 100% secure. There 
are ways to crack encrypted PDF documents. The security provided is adequate to protect your 
documents from most casual attacks, but if your data is truly sensitive you should not rely on PDF 
encryption alone. 
Using Metafiles 
Using ComponentOne PDF for .NET > Using Metafiles 
PDF for .NET makes it very easy to create documents, mainly because the object model mimics the 
well-known .NET Graphics model. However, not all methods available in the Graphics class are 
available in PDF for .NET. Plus, you may have existing code that draws to a Graphics object and 
that you do not want to rewrite even if most methods are very similar. 
In these cases, you can reuse your existing .NET code by sending the drawing commands to a 
Metafile, then rendering the Metafile into PDF for .NET using the DrawImage command. This 
method allows you to expose any graphics you create as images or as PDF documents. 
For example, suppose you have an application that generates documents using the PrintDocument 
pattern of drawing each page into a Graphics object. You could then use the same methods to 
create a collection of metafiles, one per page, and then convert the list into a PDF document using 
the following code: 
To write code in Visual Basic 
Visual Basic 
' Get the document as a list of Metafiles, one per page. 
Dim pages As ArrayList = GetMetafiles() 
' Loop through the pages and create a PDF document. 
RasterEdge Product Renewal and Update
VB.NET Write: Add Image to PDF; VB.NET Protect: Add Password to PDF; VB.NET Form: extract value 4. Order email. Our support team will send you the purchase link.
adding links to pdf document; clickable pdf links
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Free online PowerPoint to PDF converter without email. C#.NET Demo Code: Convert PowerPoint to PDF in C#.NET Application. Add necessary references:
add hyperlink pdf; add hyperlink pdf file
34 
_c1pdf.Clear() 
Dim i As Integer 
for i = 0 i <= pages.Count 
 ' Get ith page. 
Dim page As Metafile = CType(Metafile.FromFile(pages[i]), Metafile) 
If Not (page Is Nothing) Then 
  ' Calculate the page size. 
Dim sz As SizeF = page.PhysicalDimension 
sz.Width = Math.Round(sz.Width * 72.0F / 2540.0F, 2) 
sz.Height = Math.Round(sz.Height * 72.0F / 2540.0F, 2) 
' Add a page and set the size. 
If i > 0 Then 
_c1pdf.NewPage() 
End If 
_c1pdf.PageSize = sz 
  ' Draw the page into the PDF document. 
_c1pdf.DrawImage(page, _c1pdf.PageRectangle) 
End If 
Next 
' Save to file. 
_c1pdf.Save("c:\temp\mydoc.pdf") 
To write code in C# 
C# 
// Get the document as a list of Metafiles, one per page. 
ArrayList pages = GetMetafiles(); 
// Loop through the pages and create a PDF document. 
_c1pdf.Clear(); 
for (int i = 0; i < pages.Count; i++) 
// Get ith page. 
Metafile page = (Metafile)Metafile.FromFile(pages[i]); 
if (page == null) 
continue; 
// Calculate the page size. 
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
to PDF converter without email. Quick integrate online C# source code into .NET class. C# Demo Code: Convert Excel to PDF in Visual C# .NET Project. Add necessary
pdf hyperlink; pdf link open in new window
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Free online Word to PDF converter without email. C#.NET Sample Code: Convert Word to PDF in C#.NET Project. Add necessary references:
adding hyperlinks to pdf documents; add links to pdf in acrobat
35 
SizeF sz = page.PhysicalDimension; 
sz.Width  = (float)Math.Round(sz.Width  * 72f / 2540f, 2); 
sz.Height = (float)Math.Round(sz.Height * 72f / 2540f, 2); 
// Add a page and set the size 
if (i > 0) _c1pdf.NewPage(); 
_c1pdf.PageSize = sz; 
// Draw the page into the PDF document 
_c1pdf.DrawImage(page, _c1pdf.PageRectangle); 
// Save to file 
_c1pdf.Save(@"c:\temp\mydoc.pdf"); 
The code gets each metafile on the list, calculates its size in points (each page could have a 
different size), then draws the metafile into the page. The metafiles could be generated by a 
reporting engine, drawing or charting program, or any application that can create metafile images. 
PDF for .NET also supports EMF+ metafiles. According to Microsoft, EMF+ is an extension to EMF 
that allows GDI+ records to be stored. Previously, all metafiles were transformed to EFM Only. 
EMF+ metafiles are no longer transformed; therefore, they do not lose their context due to 
transformation. 
Rendering RTF Text 
Using ComponentOne PDF for .NET > Rendering RTF Text 
Another powerful feature of ComponentOne PDF for .NET is the ability to render rich text format 
(RTF) text using the DrawStringRtf method. This is an extremely useful feature mainly because there 
are so many tools for creating RTF, and it's easy to create templates in RTF and have your 
application customize, then render the RTF strings. This makes it easy to create richly formatted 
documents practically without writing any code. 
For example, the code below uses an RTF template created with WordPad. It scans a directory and 
builds an RTF string based on the template, then renders the RTF using the DrawStringRtf method. 
To write code in Visual Basic 
Visual Basic 
' Get RTF templates. 
Dim rtfHdr As String = "" & _ 
"{\rtf1\ansi\ansicpg1252\deff0\deflang1033" & _ 
& _ 
"{\fonttbl{\f0\fswiss\fcharset0 " & _ 
& _ 
36 
"Arial;}{\f1\froman\fprq2\fcharset0 Book Antiqua;}}" & _ 
" & _ 
"{\colortbl ;\red0\green0\blue0;}" & _ 
& _ 
"\viewkind4\uc1\pard\f0\fs20\par" & _ 
par" & _ 
"\pard\tx1440\tx2880\tx4320\tx5760\cf1\b\f1\fs24 " & _ 
\fs24 " & _ 
"Directory Report created on <>\par" & _ 
"\ul\par Name\tab Extension\tab Size\tab Date\tab " & _ 
ab " & _ 
"Attributes\par" 
Dim rtfEntry As String = "" & _ 
"\cf0\ulnone\b0\f0\fs16 <>\tab " & _ 
ab " & _ 
"<>\tab <>\tab <>\tab <>\par" 
par" 
' Build RTF string. 
Dim sb As New StringBuilder() 
sb.Append(rtfHdr.Replace("<>", DateTime.Today.ToShortDateString())) 
Dim file As String 
For Each file in Directory.GetFiles(@"c:\winnt", "*.bmp") 
Dim s As String = rtfEntry 
Dim fi As FileInfo = New FileInfo(file) 
s = s.Replace("<>", Path.GetFileNameWithoutExtension(file)) 
s = s.Replace("<>", fi.Extension) 
s = s.Replace("<>", String.Format("{0:#,##0}", fi.Length)) 
s = s.Replace("<>", fi.LastWriteTime.ToShortDateString()) 
s = s.Replace("<>", fi.Attributes.ToString()) 
sb.Append(s) 
Next 
sb.Append("}") 
' Render it. 
Dim pdf As New C1PdfDocument() 
Dim rect As RectangleF = _c1pdf.PageRectangle 
rect.Inflate(-72, -72) 
_c1pdf.DrawStringRtf(sb.ToString(), Font, Brushes.Black, rect) 
' Save. 
_c1pdf.Save("c:\temp\dir.pdf") 
To write code in C# 
C# 
// Get RTF templates. 
string rtfHdr = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033" + 
1033" + 
37 
@"{\fonttbl{\f0\fswiss\fcharset0 " + 
@"Arial;}{\f1\froman\fprq2\fcharset0 Book Antiqua;}}" + 
@"{\colortbl ;\red0\green0\blue0;}" +  
@"\viewkind4\uc1\pard\f0\fs20\par" + 
@"\pard\tx1440\tx2880\tx4320\tx5760\cf1\b\f1\fs24 " +  
@"Directory Report created on <>\par" + 
@"\ul\par Name\tab Extension\tab Size\tab Date\tab " + 
@"Attributes\par"; 
string rtfEntry = @"\cf0\ulnone\b0\f0\fs16 <>\tab " + 
@"<>\tab <>\tab <>\tab <>\par"; 
// Build RTF string. 
StringBuilder sb = new StringBuilder(); 
sb.Append(rtfHdr.Replace("<>", DateTime.Today.ToShortDateString())); 
foreach (string file in Directory.GetFiles(@"c:\winnt", "*.bmp")) 
string s = rtfEntry; 
FileInfo fi = new FileInfo(file); 
s = s.Replace("<>", Path.GetFileNameWithoutExtension(file)); 
s = s.Replace("<>",  fi.Extension); 
s = s.Replace("<>", string.Format("{0:#,##0}", fi.Length)); 
s = s.Replace("<>", fi.LastWriteTime.ToShortDateString()); 
s = s.Replace("<>", fi.Attributes.ToString()); 
sb.Append(s); 
sb.Append("}"); 
// Render it. 
C1.C1Pdf.C1PdfDocument pdf = new C1.C1Pdf.C1PdfDocument(); 
RectangleF rect = pdf.PageRectangle; 
rect.Inflate(-72, -72); 
_c1pdf.DrawStringRtf(sb.ToString(), Font, Brushes.Black, rect); 
// Save. 
_c1pdf.Save(@"c:\temp\dir.pdf"); 
The code is very simple. The only complicated part is the RTF definition, but that was copied and 
pasted from an RTF file created with WordPad. The RTF template string contains tags (for example, 
"<<NAME>>") that are then replaced with the actual contents. 
When the RTF string is built, it is rendered into the PDF document using the DrawStringRtf 
command. The result looks like this: 
38 
PDF for .NET Samples 
Please be advised that this ComponentOne software tool is accompanied by various sample 
projects and/or demos which may make use of other development tools included with the 
ComponentOne Studios. 
Samples can be accessed from the ComponentOne Sample Explorer. To view samples, on the 
desktop, click the Start button and then click All Programs |ComponentOne | Studio for 
WinForms (or Studio for ASP.NET) | Samples | Pdf Samples. 
Click one of the following links to view a list of ComponentOne PDF for .NET samples: 
Visual Basic Samples 
Sample 
Description 
PdfForm 
Creates a PDF version of a paper form. This sample loads an empty fax cover form 
(created in Visio and saved as an enhanced metafile), and then uses the DrawString 
Documents you may be interested
Documents you may be interested