19 
It is important to remember that PDF for .NET uses a coordinate system based on points, with the 
origin located at the top left of the page. (The default coordinate system for the .NET Graphics 
class is pixel-based.) 
The example below illustrates how similar the graphics methods are between PDF for .NET and the 
.NET Graphics class. The sample declares a C1PdfDocument class called 'g' and calls methods to 
draw pies, splines, and other graphical elements. 
The point of the sample is that if you replaced the C1PdfDocument class with a regular .NET 
Graphics object, you would be able to compile the code and get the same results: 
To write code in Visual Basic 
Visual Basic 
' Create PDF document. 
Dim g As New C1.C1Pdf.C1PdfDocument() 
' Set up to draw. 
Dim rect As New RectangleF(0, 0, 300, 200) 
Dim text As String = "Hello world of .NET Graphics and PDF." + 
ControlChars.Cr + ControlChars.Lf + "Nice to meet you." 
Dim font As New Font("Times New Roman", 12, FontStyle.Italic Or 
FontStyle.Underline) 
Dim bezierPoints() As PointF = {New PointF(10F, 100F), New PointF(20F, 
10F), New PointF(35F, 50F), New PointF(50F, 100F), New PointF(60F, 150F), 
New PointF(65F, 100F), New PointF(50F, 50F)} 
' Draw some pie slices. 
Dim penWidth As Integer = 0 
Dim penRGB As Integer = 0 
g.FillPie(Brushes.Red, rect, 0, 20F) 
g.FillPie(Brushes.Green, rect, 20F, 30F) 
g.FillPie(Brushes.Blue, rect, 60F, 12F) 
g.FillPie(Brushes.Gold, rect, - 80F, - 20F) 
' Draw some arcs. 
Dim startAngle As Single 
For startAngle = 0 To 360 - 40 Step 40 
Dim penColor As Color = Color.FromArgb(penRGB, penRGB, penRGB) 
penWidth = penWidth + 1 
Dim pen As New Pen(penColor, penWidth) 
penRGB = penRGB + 20 
g.DrawArc(pen, rect, startAngle, 40F) 
Move pages in pdf file - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
reorder pages in pdf preview; how to reorder pages in pdf
Move pages in pdf file - 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
reorder pages in pdf document; move pdf pages in preview
20 
Next 
' Draw a rectangle and some bezier splines. 
g.DrawRectangle(Pens.Red, rect) 
g.DrawBeziers(Pens.Blue, bezierPoints) 
g.DrawString(text, font, Brushes.Black, rect) 
To write code in C# 
C# 
// Create PDF document. 
C1.C1Pdf.C1PdfDocument g = new C1.C1Pdf.C1PdfDocument(); 
// Set up to draw. 
Rectangle rect = new RectangleF(0,0,300,200); 
string text = "Hello world of .NET Graphics and PDF.\r\n" + "Nice to meet 
et 
you."; 
Font font = new Font("Times New Roman", 12, FontStyle.Italic | 
FontStyle.Underline); 
PointF[] bezierPoints = new PointF[] 
new PointF(10f, 100f), new PointF(20f, 10f), new PointF(35f, 50f), 
new PointF(50f, 100f), new PointF(60f, 150f), new PointF(65f, 100f), new 
PointF(50f, 50f) 
}; 
// Draw some pie slices. 
int penWidth = 0; 
int penRGB = 0; 
g.FillPie(Brushes.Red, rect, 0, 20f); 
g.FillPie(Brushes.Green, rect, 20f, 30f); 
g.FillPie(Brushes.Blue, rect, 60f, 12f); 
g.FillPie(Brushes.Gold, rect, -80f, -20f); 
// Draw some arcs. 
for (float startAngle = 0; startAngle < 360; startAngle += 40) 
Color penColor = Color.FromArgb(penRGB, penRGB, penRGB); 
Pen pen = new Pen(penColor, penWidth++); 
penRGB = penRGB + 20; 
g.DrawArc(pen, rect, startAngle, 40f); 
}  
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
random pages can be deleted from PDF file as well. Sorting Pages. RasterEdge XDoc.PDF allows you to easily move PDF document pages position, including sorting
reverse pdf page order online; change page order in pdf online
C# TIFF: How to Reorder, Rearrange & Sort TIFF Pages Using C# Code
Using this C#.NET Tiff image management library, you can easily change and move the position of any two or more Tiff file pages or make a totally new order for
moving pages in pdf; move pages in pdf acrobat
21 
// Draw a rectangle and some bezier splines. 
g.DrawRectangle(Pens.Red, rect); 
g.DrawBeziers(Pens.Blue, bezierPoints); 
g.DrawString(text, font, Brushes.Black, rect); 
Here is the resulting PDF document: 
Creating Pages and Overlays 
Using ComponentOne PDF for .NET > Creating Pages and Overlays 
You may have noticed that in the previous examples, we started adding content to the document 
right after creating the C1PdfDocument object. This is possible because when you create the 
C1PdfDocument, it automatically adds an empty page to the document, ready to receive any type 
of content. 
When you are done filling up the first page, you can add a new one using the 
C1PdfDocumentBase.NewPage method. 
By default, all pages in the document have the same size and orientation. These parameters can be 
specified in the C1PdfDocument constructor. You can also change the page size and orientation at 
C# Word - Sort Word Pages Order in C#.NET
C# DLLs: Move Word Page Position. Add references: Swap Two Word Pages Position Using C#. You may choose two pages of Word file and exchange their position.
change page order in pdf file; how to move pages in pdf reader
C# PowerPoint - Sort PowerPoint Pages Order in C#.NET
splitting. C# DLLs: Move PowerPoint Page Position. C#. You may choose two pages of PowerPoint file and exchange their position. String
change page order in pdf reader; how to move pages in a pdf file
22 
any time by setting the PaperKindPageSize, and Landscape properties. For example, the code 
below creates a document with all paper sizes defined by the PaperKind enumeration: 
To write code in Visual Basic 
Visual Basic 
Dim font As New Font("Arial", 9) 
Dim sf As New StringFormat() 
sf.Alignment = StringAlignment.Center 
sf.LineAlignment = StringAlignment.Center 
' Create one page with each paper size. 
Dim firstPage As Boolean = True 
Dim pk As PaperKind 
For Each pk In System.Enum.GetValues(GetType(PaperKind)) 
' Skip custom size. 
If pk = PaperKind.Custom Then 
GoTo ContinueForEach1 
End If 
' Add new page for every page after the first one. 
If Not firstPage Then 
_c1pdf.NewPage() 
End If 
firstPage = False 
' Set paper kind. 
_c1pdf.PaperKind = pk 
' Draw some content on the page. 
_c1pdf.DrawString("PaperKind: " + pk.ToString(), font, Brushes.Black, 
_c1pdf.PageRectangle, sf) 
ContinueForEach1: 
To write code in C# 
C# 
Font font = new Font("Arial", 9); 
StringFormat sf = new StringFormat(); 
sf.Alignment = StringAlignment.Center; 
sf.LineAlignment = StringAlignment.Center; 
C# PDF insert text Library: insert text into PDF content in C#.net
int pageIndex = 0; // Move cursor to (400F, 100F). If you want to add a text string to PDF file, please try this C# demo. // Open a document.
pdf change page order; how to reorder pages in a pdf document
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Rapidly and multiple PDF document (pages) creation and edit methods append, and split PDF files; insert, delete, move, rotate, copy and paste PDF file page
how to reorder pdf pages; rearrange pdf pages in reader
23 
// Create one page with each paper size. 
bool firstPage = true; 
foreach (PaperKind pk in Enum.GetValues(typeof(PaperKind))) 
// Skip custom size. 
if (pk == PaperKind.Custom) 
continue; 
}  
// Add new page for every page after the first one. 
if (!firstPage) 
_c1pdf.NewPage(); 
firstPage = false; 
// Set paper kind. 
_c1pdf.PaperKind = pk; 
// Draw some content on the page. 
_c1pdf.DrawString("PaperKind: " + pk.ToString(), font, Brushes.Black, 
_c1pdf.PageRectangle, sf); 
You are not restricted to writing on the last page that was added to the document. You can use the 
CurrentPage property to select which page you want to write to, and then use the regular drawing 
commands as usual. This is useful for adding content to pages after you are done rendering a 
document. For example, the code below adds footers to each page containing the current page 
number and the total of pages in the document (page n of m): 
To write code in Visual Basic 
Visual Basic 
Private Sub AddFooters() 
Dim font As New Font("Tahoma", 7, FontStyle.Bold) 
Dim sf As New StringFormat() 
sf.Alignment = StringAlignment.Center 
Dim page As Integer 
For page = 0 To _c1pdf.Pages.Count - 1 
' Select page. 
_c1pdf.CurrentPage = page 
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
Certainly, random pages can be deleted from PDF file as well. PDF Page sorting. RasterEdge XDoc.PDF allows you to easily move PDF document pages position in VB
rearrange pages in pdf online; reverse page order pdf
C# PDF Library SDK to view, edit, convert, process PDF file for C#
Rapidly load, create, convert and edit PDF document (pages) in C# append, and split PDF files; insert, delete, move, rotate, copy and paste PDF file page.
change page order pdf preview; change pdf page order preview
24 
' Build rectangle for rendering the footer. 
Dim rect As RectangleF = _c1pdf.PageRectangle 
rect.Y = rect.Bottom 
' Write the footer. 
Dim text As String 
text = String.Format("Page {0} of {1}", page + 1, 
_c1pdf.Pages.Count) 
_c1pdf.DrawString(text, font, Brushes.Gray, rect, sf) 
Next page 
End Sub 
To write code in C# 
C# 
private void AddFooters() 
Font font = new Font("Tahoma", 7, FontStyle.Bold); 
StringFormat sf = new StringFormat(); 
sf.Alignment = StringAlignment.Center; 
for (int page = 0; page < _c1pdf.Pages.Count; page++) 
// Select page. 
_c1pdf.CurrentPage = page; 
// Build rectangle for rendering the footer. 
RectangleF rect = _c1pdf.PageRectangle; 
rect.Y = rect.Bottom – 36; 
// Write the footer. 
string text = string.Format("Page {0} of {1}", page+1, 
_c1pdf.Pages.Count); 
_c1pdf.DrawString(text, font, Brushes.Gray, rect, sf); 
Note that the code uses the C1PdfDocumentBase.Pages property to get the page count. Pages is 
a collection based on the ArrayList class, and has methods that allow you to count and enumerate 
pages, as well as add and remove pages at specific positions. You can use the Pages collection to 
remove pages from certain locations in the document and re-insert them elsewhere. 
25 
Adding Bookmarks and Annotations 
Using ComponentOne PDF for .NET > Adding Bookmarks and Annotations 
The following topics describe how to add bookmarks and annotations to a PDF document. 
See Also 
Adding Bookmarks to a PDF Document 
Adding Links to a PDF Document 
Attaching Files to a PDF Document 
Adding Bookmarks to a PDF Document 
Using ComponentOne PDF for .NET Adding Bookmarks and Annotations > Adding Bookmarks to a PDF 
Document 
When you open a PDF document using Adobe's Acrobat Reader application, you will notice that 
most long documents contain an outline structure that is displayed on a pane on the left of the 
reader. The outline makes it easy to browse through a document's structure and find specific topics. 
The picture below shows a PDF document with an outline: 
26 
The outline entries are called Bookmarks, and you can add them to your PDF for .NET documents 
using the AddBookmark method. The AddBookmark method takes three parameters: the title of the 
outline entry, the outline level, and the 'y' position of the entry on the current page (measured in 
points from the top of the page). 
For example, the routine below adds a paragraph to a document and optionally marks it as a level-
zero outline entry: 
To write code in Visual Basic 
Visual Basic 
Private Function RenderParagraph(text As String, font As Font, rect As 
RectangleF, rectPage As RectangleF, outline As Boolean) As RectangleF 
' If it doesn't fit on this page, add a page break. 
rect.Height = _c1pdf.MeasureString(text, font, rect.Width).Height 
If rect.Bottom > rectPage.Bottom Then 
_c1pdf.NewPage() 
rect.Y = rectPage.Top 
27 
End If 
' Draw the string. 
_c1pdf.DrawString(text, font, Brushes.Black, rect) 
' Add headings to outline. 
If outline Then 
_c1pdf.DrawLine(Pens.Black, rect.X, rect.Y, rect.Right, rect.Y) 
_c1pdf.AddBookmark(text, 0, rect.Y) 
End If 
' Update rectangle for next time. 
rect.Offset(0, rect.Height) 
Return rect 
End Function 
To write code in C# 
C# 
private RectangleF RenderParagraph(string text, Font font, RectangleF 
rect, RectangleF rectPage, bool outline) 
// If it doesn't fit on this page, add a page break. 
rect.Height = _c1pdf.MeasureString(text, font, rect.Width).Height; 
if (rect.Bottom > rectPage.Bottom) 
_c1pdf.NewPage(); 
rect.Y = rectPage.Top; 
// Draw the string. 
_c1pdf.DrawString(text, font, Brushes.Black, rect); 
// Add headings to outline. 
if (outline) 
_c1pdf.DrawLine(Pens.Black, rect.X, rect.Y, rect.Right, rect.Y); 
_c1pdf.AddBookmark(text, 0, rect.Y); 
// Update rectangle for next time. 
rect.Offset(0, rect.Height); 
return rect; 
28 
Adding Links to a PDF Document 
Using ComponentOne PDF for .NET Adding Bookmarks and Annotations > Adding Links to a PDF Document 
The PDF specification allows you to add several types of annotations to your documents. 
Annotations are often added by hand, as highlights and notes. But they can also be added 
programmatically. C1PdfDocument provides methods for adding hyperlinks, hyperlink targets, and 
file attachments to your PDF documents. 
To add a hyperlink to your document, use the AddLink method. AddLink method takes two 
parameters: a string that specifies a url and a RectangleF that specifies the area on the current page 
that should behave as a link. 
Note that the AddLink method does not add any visible content to the page, so you will usually 
need another command along with AddLink to specify some text or an image that the user can see. 
For example, the code below adds a string that says "Visit ComponentOne" and a link that takes the 
user to the ComponentOne home page: 
To write code in Visual Basic 
Visual Basic 
Dim rect As New RectangleF(50, 50, 100, 15) 
Dim font As New Font("Arial", 10, FontStyle.Underline) 
_c1pdf.AddLink("http://www.componentone.com", rect) 
_c1pdf.DrawString("Visit ComponentOne", font, Brushes.Blue, rect) 
To write code in C# 
C# 
RectangleF rect = new RectangleF(50, 50, 100, 15); 
Font font = new Font("Arial", 10, FontStyle.Underline); 
_c1pdf.AddLink("http://www.componentone.com", rect); 
_c1pdf.DrawString("Visit ComponentOne", font, Brushes.Blue, rect); 
Here is the resulting PDF document: 
Documents you may be interested
Documents you may be interested