c# pdf viewer itextsharp : How to reorder pages in pdf software control dll windows azure wpf web forms winforms.pdf3-part1600

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. 
How to reorder pages in pdf - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
move pages in pdf acrobat; how to rearrange pages in a pdf document
How to reorder pages in pdf - VB.NET PDF Page Move Library: re-order PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sort PDF Document Pages Using VB.NET Demo Code
how to rearrange pages in a pdf file; change page order in pdf file
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; 
C# TIFF: How to Reorder, Rearrange & Sort TIFF Pages Using C# Code
Reorder, Rearrange and Sort TIFF Document Pages in C#.NET Application. C# TIFF Page Sorting Overview. Reorder TIFF Pages in C#.NET Application.
how to reorder pdf pages in; how to move pages in pdf acrobat
VB.NET PowerPoint: Sort and Reorder PowerPoint Slides by Using VB.
Sort and Reorder PowerPoint Slides Range with VB amount of robust PPT slides/pages editing methods powerful & profession imaging controls, PDF document, image
switch page order pdf; move pages in a pdf file
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. 
Read PDF in Web Image Viewer| Online Tutorials
from PDF documents; Extract images from PDF documents; Add, reorder pages in PDF files; Save and print PDF as you wish; More PDF Reading
reorder pages in pdf document; move pages in pdf
VB.NET TIFF: Modify TIFF File by Adding, Deleting & Sort TIFF
Users can use it to reorder TIFF pages in ''' &ltsummary> ''' Sort TIFF document pages in designed powerful & profession imaging controls, PDF document, image
how to reorder pages in pdf reader; how to reverse pages in pdf
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 Page Rotate Library: rotate PDF page permanently in C#.net
page, it is also featured with the functions to merge PDF files using C# .NET, add new PDF page, delete certain PDF page, reorder existing PDF pages and split
how to move pages within a pdf; reorder pages in pdf reader
C# PDF: C# Code to Process PDF Document Page Using C#.NET PDF
just following attached links. C# PDF: Add, Delete, Reorder PDF Pages Using C#.NET, C# PDF: Merge or Split PDF Files Using C#.NET.
change pdf page order online; reorder pages in pdf preview
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. 
.NET Multipage TIFF SDK| Process Multipage TIFF Files
SDK, developers are easily to access, extract, swap, reorder, insert, mark up and delete pages in any multi upload to SharePoint and save to PDF documents.
how to move pages in a pdf file; how to rearrange pages in pdf using reader
C# Word: How to Create Word Document Viewer in C#.NET Imaging
in C#.NET; Offer mature Word file page manipulation functions (add, delete & reorder pages) in document viewer; Rich options to add
pdf rearrange pages online; how to move pages around in pdf
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. 
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