Step 3 is the most interesting one. The code starts by retrieving the page rectangle, expressed in 
points. It then adds a one-inch margin around the page (72 points). Finally, the code creates a Font 
object and calls the DrawString method to write "Hello World!" on the page. This is exactly what 
you would do if you were writing to a Graphics object in .NET and is what makes PDF for .NET so 
easy to use. 
One important thing to remember is that PDF for .NET uses a point-based coordinate system with 
the origin at the top-left corner of the page. This is similar to the default coordinate system used by 
.NET, but is different from the default PDF coordinate system (where the origin is on the bottom-
left corner of the page). In this example, the top left point of the "H" in "Hello World" is located at 
Because the coordinate system is based on points, rather than pixels, PDF for .NET uses 
RectangleF, SizeF, and PointF structures, which have members of type float, rather than 
Rectangle, Size, and Point, which have members of type int. 
Adding Text 
Using ComponentOne PDF for .NET > Adding Text 
The following topics provide information on drawing, measuring, and managing the flow of text, as 
well as drawing RTF text. 
Pdf reader link - insert, remove PDF links in, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
pdf link open in new window; pdf reader link
Pdf reader link - VB.NET PDF url edit library: insert, remove PDF links in, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
clickable links in pdf files; add links to pdf
See Also 
Drawing Text 
Measuring Text 
Making Text Flow from Page to Page 
Drawing RTF Text 
Drawing Text 
Using ComponentOne PDF for .NET Adding Text > Drawing Text 
Adding text to PDF for .NET documents is easy – all the work is done by the DrawString method. 
DrawString draws a given string at a specified location using a given font and brush. For example: 
To write code in Visual Basic 
Visual Basic 
pdf.DrawString("Hello World!", font, Brushes.Black, rect) 
To write code in C# 
pdf.DrawString("Hello World!", font, Brushes.Black, rect); 
By default, DrawString will align the text to the left and to the top of the given rectangle, will wrap 
the string within the rectangle, and will not clip the output to the rectangle. You can change all 
these options by specifying a StringFormat parameter in the call to DrawString. The StringFormat 
has members that allow you to specify the horizontal alignment (Alignment), vertical alignment 
(LineAligmnent), and flags that control wrapping and clipping (FormatFlags). 
For example, the code below creates a StringFormat object and uses it to align the text to the 
center of the rectangle, both vertically and horizontally: 
To write code in Visual Basic 
RasterEdge .NET Document Imaging Trial Package Download Link.
Adobe PDF. XDoc.PDF. Scanning. XImage.OCR. Microsoft Office. XDoc.Word. XDoc.Excel. XDoc.PowerPoint. Barcoding. XImage.Barcode Reader. XImage.Barcode Generator.
add hyperlink in pdf; add page number to pdf hyperlink
C# PDF Library SDK to view, edit, convert, process PDF file for C#
RasterEdge PDF SDK for .NET package offers robust APIs for editing PDF document hyperlink (url) and quick navigation link in PDF bookmark.
adding links to pdf; check links in pdf
Visual Basic 
Dim font As New Font("Arial", 12) 
Dim rect As New RectangleF(72, 72, 100, 50) 
Dim text As String = "Some long string to be rendered into a small 
rectangle. " 
text = text & text & text & text & text & text 
' Center align string. 
Dim sf As New StringFormat() 
sf.Alignment = StringAlignment.Center 
sf.LineAlignment = StringAlignment.Center 
pdf.DrawString(text, font, Brushes.Black, rect, sf) 
pdf.DrawRectangle(Pens.Gray, rect) 
To write code in C# 
Font font = new Font("Arial", 12); 
RectangleF rect = new RectangleF(72, 72, 100, 50); 
string text = "Some long string to be rendered into a small rectangle. "; 
text = text + text + text + text + text + text; 
// Center align string. 
StringFormat sf = new StringFormat(); 
sf.Alignment = StringAlignment.Center; 
sf.LineAlignment = StringAlignment.Center; 
pdf.DrawString(text, font, Brushes.Black, rect, sf); 
pdf.DrawRectangle(Pens.Gray, rect); 
Here is the resulting PDF document: 
How to C#: Basic SDK Concept of XDoc.PDF for .NET
XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document, including editing PDF url links and quick navigation link in bookmark/outline.
clickable links in pdf; c# read pdf from url
VB.NET PDF: Basic SDK Concept of XDoc.PDF
XDoc.PDF for .NET allows VB.NET developers to edit hyperlink of PDF document, including editing PDF url links and quick navigation link in bookmark/outline.
adding hyperlinks to pdf; add email link to pdf
Measuring Text 
Using ComponentOne PDF for .NET Adding Text > Measuring Text 
In many cases, you will need to check whether the string will fit on the page before you render it. 
You can use the MeasureString method for that. MeasureString returns a SizeF structure that 
contains the width and height of the string (in points) when rendered with a given font. 
For example, the code below checks to see if a paragraph will fit on the current page and creates a 
page break if it has to. This will keep paragraphs together on a page: 
To write code in Visual Basic 
Visual Basic 
Private Function RenderParagraph(text As String, font As Font, rect As 
RectangleF, rectPage As RectangleF) As RectangleF 
' Calculate the necessary height. 
Dim sz As SizeF = _c1pdf.MeasureString(text, font, rect.Width) 
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
create PDF document viewer & reader in ASP.NET web application using C# code. Related C# PDF Imaging Project Tutorials! Please click the following link to see
chrome pdf from link; clickable pdf links
C# Raster - Raster Conversion & Rendering in C#.NET
active links in pdf; accessible links in pdf
rect.Height = sz.Height 
 ' If it won't fit this page, do a page break. 
If rect.Bottom > rectPage.Bottom Then 
rect.Y = rectPage.Top 
End If 
' Draw the string. 
_c1pdf.DrawString(text, font, Brushes.Black, rect) 
' Update rectangle for next time. 
Rect.Offset(0, rect.Height) 
Return rect 
End Function 
' Use the RenderParagraph method. 
Dim font As New Font("Arial", 10) 
Dim rectPage As RectangleF = _c1pdf.PageRectangle 
rectPage.Inflate(-72, -72) 
Dim rect As RectangleF = rectPage 
Dim s As String 
For Each s In  myStringList 
rect = RenderParagraph(s, font, rect, rectPage) 
Next s 
To write code in C# 
private RectangleF RenderParagraph(string text, Font font, RectangleF 
rect, RectangleF rectPage) 
// Calculate the necessary height. 
SizeF sz = _c1pdf.MeasureString(text, font, rect.Width); 
rect.Height = sz.Height; 
// If it won't fit this page, do a page break. 
If (rect.Bottom > rectPage.Bottom) 
rect.Y = rectPage.Top; 
// Draw the string. 
VB.NET PDF: Create PDF Document Viewer in C#.NET for Document
reading PDF document in ASP.NET web, .NET Windows Forms and mobile developing applications respectively. For more information on them, just click the link and
add links to pdf document; add hyperlinks to pdf
VB.NET Word: How to Process MS Word in VB.NET Library in .NET
Besides, here is the quick link for how to process Word document within We are dedicated to provide powerful & profession imaging controls, PDF document, image
add a link to a pdf in acrobat; pdf hyperlinks
_c1pdf.DrawString(text, font, Brushes.Black, rect); 
// Update rectangle for next time. 
Rect.Offset(0, rect.Height); 
return rect; 
// Use the RenderParagraph method. 
Font font = new Font("Arial", 10); 
RectangleF rectPage = _c1pdf.PageRectangle; 
rectPage.Inflate(-72, -72); 
RectangleF rect = rectPage; 
foreach (string s in myStringList) 
rect = RenderParagraph(s, font, rect, rectPage); 
Making Text Flow from Page to Page 
Using ComponentOne PDF for .NET Adding Text > Making Text Flow from Page to Page 
The DrawString method returns an integer. This is the index of the first character that was not 
printed because it did not fit the output rectangle. You can use this value make text flow from page 
to page or from one frame to another within a page. For example: 
To write code in Visual Basic 
Visual Basic 
' Render a string spanning multiple pages. 
While True 
' Render as much as will fit into the rectangle. 
Dim nextChar As Integer 
nextChar = _c1pdf.DrawString(text, font, Brushes.Black, rectPage) 
' Break when done. 
If nextChar >= text.Length Then 
Exit While 
End If  
Get rid of the part that was rendered. 
Text = text.Substring(nextChar) 
' Move on to the next page. 
End While 
To write code in C# 
// Render a string spanning multiple pages. 
While (true) 
// Render as much as will fit into the rectangle. 
Int nextChar = _c1pdf.DrawString(text, font, Brushes.Black, 
// Break when done. 
If (nextChar >= text.Length) 
// Get rid of the part that was rendered. 
Text = text.Substring(nextChar); 
// Move on to the next page. 
By combining the MeasureString and DrawString methods, you can develop rendering routines that 
provide extensive control over how paragraphs are rendered, including keeping paragraphs 
together on a page, keeping with the next paragraph, and controlling widows and orphans (single 
lines that render on the current or next page). 
Drawing RTF Text 
Using ComponentOne PDF for .NET Adding Text > Drawing RTF Text 
DrawString provides all the functionality you need for rendering paragraphs using a single font and 
If you want to render paragraphs with rich format, mixing fonts and colors, you should use the 
DrawStringRtf method instead. DrawStringRtf is similar to DrawString, except the string is 
interpreted as RTF. 
For example, the code below renders a line of text with some bold and italic characters in it: 
To write code in Visual Basic 
Visual Basic 
Dim font As New Font("Arial", 12) 
Dim rect As RectangleF = pdf.PageRectangle 
rect.Inflate(- 72, - 72) 
Dim s As String 
s = "To {\b boldly} go where {\i no one} has gone before!" 
pdf.DrawStringRtf(s, font, Brushes.Black, rect) 
To write code in C# 
Font font = new Font("Arial", 12); 
RectangleF rect = pdf.PageRectangle; 
rect.Inflate(-72, -72); 
pdf.DrawStringRtf(@"To {\b boldly} go where {\i no one} has gone 
before!", font, Brushes.Black, rect); 
Notice that the string does not contain a full RTF document. It has no \rtf1 header, font or color 
tables. The DrawStringRtf method recognizes that and builds the necessary RTF header 
automatically, based on the Font and Brush parameters provided. 
If the string contained a complete RTF header, that would be used in lieu of the font and brush 
parameters specified in the call DrawStringRtf. This would be the case if the string were copied from 
a RichTextBox control or loaded from an RTF file. 
Adding Images 
Using ComponentOne PDF for .NET > Adding Images 
Adding images to PDF for .NET documents is also easy, all the work is done by the DrawImage 
DrawImage draws a given image at a specified location and has parameters that provide control 
over the image alignment and scaling. In the following example, this image is: 
Stretched to fill the given rectangle 
Center-aligned within the rectangle, scaled to keep the aspect ratio 
Aligned to the top-left corner of the rectangle, with the original size 
This code is used to draw the same image three times: 
To write code in Visual Basic 
Visual Basic 
Dim rect As RectangleF = pdf.PageRectangle 
rect.Inflate(- 72, - 72) 
' Stretch image to fill the rectangle. 
pdf.DrawImage(pictureBox1.Image, rect) 
' Center image within the rectangle, scale keeping aspect ratio. 
pdf.DrawImage(pictureBox1.Image, rect, ContentAlignment.MiddleCenter, 
' Render the image to the top left corner of the rectangle. 
pdf.DrawImage(pictureBox1.Image, rect, ContentAlignment.TopLeft, 
To write code in C# 
RectangleF rect = pdf.PageRectangle; 
rect.Inflate(-72, -72); 
// Stretch image to fill the rectangle. 
pdf.DrawImage(pictureBox1.Image, rect); 
// Center image within the rectangle, scale keeping aspect ratio. 
pdf.DrawImage(pictureBox1.Image, rect, ContentAlignment.MiddleCenter, 
// Render the image to the top left corner of the rectangle. 
pdf.DrawImage(pictureBox1.Image, rect, ContentAlignment.TopLeft, 
The PDF document will look similar to this: 
Notice that you can render any regular .NET Image object, including Metafiles. Metafiles are not 
converted into bitmaps; they are played into the document and thus retain the best possible 
resolution. If you want to add charts or technical drawings to your PDF document, Metafiles are 
better than bitmap images. PDF for .NET also supports EMF+ metafiles. 
Bitmap images are managed automatically by PDF for .NET. If you render the same image several 
times (in a page header for example), only one copy of the image is saved into the PDF file. You can 
control the quality of the images using the C1PdfDocumentBase.ImageQuality property, which 
allows you to trade-off image quality versus file size. 
Adding Graphics 
Using ComponentOne PDF for .NET > Adding Graphics 
The C1PdfDocument class exposes several methods that allow you to add graphical elements to 
your documents, including lines, rectangles, ellipses, pies, arcs, rounded rectangles, polygons, Bezier 
curves, and so on. 
The methods are a subset of those found in the .NET Graphics class, and use the same Brush and 
Pen classes to control the color and style of the lines and filled areas. 
Documents you may be interested
Documents you may be interested