including changing encryption settings. If you need to work
with encrypted documents, you'll need to be sure that you
purchase a product that understands PDF encryption and that
allows you to supply appropriate passwords when necessary. 
Four Levels of PDF Editing
"Editing" is a term that covers a wide variety of capabilities in
this class of software. Roughly speaking, you can distinguish
four levels of PDF editing, in increasing order of power and
complexity. 
If your plans include editing PDF files, it's important to define
just what level of editing capability you need, and to confirm
that the products you're evaluating include the capabilities
that you require. 
The four levels of editing PDFs include: 
Rearranging Existing Content - The simplest level of editing
is concerned with rearranging existing content. Typically this
includes merging PDF files together, splitting a PDF file into
individual pages, and inserting or appending pages. More
advanced capabilities include rotating and scaling pages and
placing multiple "thumbnails" on a single page. 
Add New Content - The next step up is the ability to add new
content to an existing PDF file without altering the existing
content. This might include stamping watermarks (text or
graphics) on to existing pages, adding bookmarks, or even
plasing new text or graphics in an overlay layer. 
Modify Existing Content - A complete editing product will
also provide you with the means to read and alter existing
page content. Typically this includes an API for retrieving text
and graphics objects from a page and changing their proper-
ties. 
Access Low-Level API - Finally, for the ultimate in control,
you may gain access to the low-level API defined by Adobe in
the PDF specification. Access at this level means that you can
make any change to a PDF file that is supported by the PDF
format itself. 
F
eat
u
res
The following list of features is provided by category and then
by specific feature. 
General Features
These are features that apply broadly across many types of
software. 
Managed Code - The product is 100% managed code, as
opposed to unmanaged code or a managed code wrapper
around unmanaged code. 
Integrated Help - The product provides a help file integrated
directly with the Visual Studio .NET help file. 
External Help - The product provides an external help file. 
Documentation - The product provides documentation
beyond a help file such as a manual or code samples. 
Peer Support - There are peer support options such as news-
groups or discussion boards available for the product. 
Vendor support - The vendor provides direct support options
for the product, either as part of the purchase price or as a
separate support contract. 
Compact Framework support - The product includes a ver-
sion that works with the .NET Compact Framework 
PDF Generation
Generate Text - Place text in an arbitrary font at an arbitrary
position on the page. 
Embed TrueType Fonts - Embed TrueType Fonts in the gener-
ated PDF document. 
Embed Type 1 Fonts - Embed PostScript Type 1 Fonts in the
generated PDF document. 
Embed Images - Embed Images in the generated PDF docu-
ment. 
Create Graphics - Draw simple graphics such as lines, circles,
and rectangles. 
Create Annotations - Add annotations to the generated PDF
document. 
Create Tables - Create tables in the generated PDF document
How-To-Select a PDF Component for .NET
Covers PDF components for use in both WinForm and WebForm/ASP.NET applications
11
Still have questions, want more details, need advice, or have suggestions? 
Visit h
t
tp://
f
orums
.ho
wt
o
s
elect
guide
s
.
c
om/
do
tne
t
/
pdf
/
TM
Pdf to ppt converter - Library software class:C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
www.rasteredge.com
Pdf to ppt converter - Library software class:VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
www.rasteredge.com
by supporting an object model of rows and columns, rather
than requiring you to work with low-level line-drawing and
cell-by-cell text placement. 
Page Markers - Create page markers such as "page m of n" 
Persistent Content - Create content that repeats across
every page in a document, such as a header, footer, or water-
mark. 
Section Content - Create content that repeats across every
page in a section, such as a header, footer, or watermark that
appears on only some pages of a document. 
Bookmarks and Outlines - Create a hierarchy of bookmarks
to locations within the document that can be displayed to
form a document outline in the Acrobat Reader. 
Layout Grid - Create a grid on the page to help with object
positioning. This is useful during the page design process to
locate other page elements. 
Background Image - Create an image that overlays an entire
page for use as a watermark. 
Hyperlink - Create a hyperlink to another location in the doc-
ument or to a Web site. 
Transforms - Shift, rotate, and scale elements on the page. 
Transparency - Adjust the transparency of elements on the
page. 
Bar Codes - Create bar codes in various formats such as UPC
and Code 39. 
Embed Attachments - The PDF specification allows embed-
ding file attachments of any type in a PDF file. The user can
open an attachment directly from the PDF file, or save it to
disk for later examination. 
Generate from XML - Provides an XML schema that can be
directly transformed to PDF with a single operation. 
Streaming Generation - Generates PDF in a streaming fash-
ion to keep memory use low for large files. This may be imple-
mented by responding to events, similar to the .NET printing
model, or as an API that streams content directly to an open
file. "Streaming" is used in the conceptual sense here; such
products may or may not make use of .NET Stream objects. 
XSL-FO - Implements the XSL-FO standard for generating PDF
files from XSL-FO files. 
PDF Editing
Alter Existing Content - Alter existing content in an existing
PDF file. 
Add New Pages - Add pages to an existing PDF file. 
Add New Content - Add new content to an existing page in an
existing PDF file. 
Merge Files - Merge two PDF files into a single PDF file. 
Split Files - Split a single PDF file into multiple files. 
Import Pages - Import pages from one PDF file into another
PDF file 
Transform Pages - Rotate, scale, or clip imported pages when
placing in a new PDF file. 
PDF Forms
Create Form Fields - Place form fields on a newly-generated
PDF page. 
Fill Out Form Fields - Supply content for form fields in an
existing PDF file. 
Flatten Forms - Convert form fields into static content 
Form Actions - Trigger form actions such as submitting a
form to a URL. 
PDF Viewing
Standalone Viewer - Includes a pre-built standalone viewer
application that can be used as an alternative to Acrobat
Reader. 
Viewer Control - Includes a Windows Forms control that can
display a PDF file. 
Viewer Class - Includes an abstract viewer class that can be
used to convert a PDF file to another format for viewing. 
Still have questions, want more details, need advice, or have suggestions? 
Visit h
t
tp://
f
orums
.ho
wt
o
s
elect
guide
s
.
c
om/
do
tne
t
/
pdf
/
.NET Developer Series
12
Library software class:Online Convert PowerPoint to PDF file. Best free online export
Online Powerpoint to PDF Converter. Download Free Trial. Convert a PPTX/PPT File to PDF. Just upload your file by clicking on the blue
www.rasteredge.com
Library software class:C# PDF Convert: How to Convert MS PPT to Adobe PDF Document
Our XDoc.Converter for .NET can help you to easily achieve high performance PDF conversion from Microsoft PowerPoint (.ppt and .pptx).
www.rasteredge.com
V
e
n
dors
Amyuni Technologies
Vendor/Author: Amyuni Technologies
Website: http://www.amyuni.com
Address: 1255, boulevard Laird, Suite 101, Mont-Royal, Québec,
H3P 2T1, CANADA
Aspose Pty Ltd
Vendor/Author: Aspose Pty Ltd
Website: http://www.aspose.com
Address: 41, Lily Street, Hurstville, NSW, 2220, AUSTRALIA
ceTe Software
Vendor/Author: ceTe Software
Website: http://www.cete.com/
Address: 7815 Old Georgetown Road, Suite 200, Bethesda, MD
20814, USA
ComponentOne LLC
Vendor/Author: ComponentOne LLC
Website: http://www.componentone.com
Address: 4516 Henry Street, Suite 500, Pittsburgh, PA 15213,
USA
FyTek
Vendor/Author: FyTek
Website: http://www.fytek.com/
Address: 29200 Vassar, Suite 540, Livonia, MI 48152, USA
Gnostice Information Technologies Private Limited
Vendor/Author: Gnostice Information Technologies Private
Limited
Website: http://www.gnostice.com
Address: #45, Floor - I, Sankey Road, Palace Orchards,
Bangalore 560 003, INDIA
Gerald Henson
Vendor/Author: Gerald Henson
Kazuya Ujihara
Vendor/Author: Kazuya Ujihara
O2 Solutions
Vendor/Author: O2 Solutions
Website: http://www.o2sol.com/
Address: 18/6 Eftimie Murgu St., 3400, Cluj-Napoca, ROMANIA
PDFTron Systems
Vendor/Author: PDFTron Systems
Website: http://www.pdftron.com/
Address: 2575 West 4th Ave, Unit 303, Vancouver, B.C., V6K
1P5, CANADA
Pegasus Imaging Corporation
Vendor/Author: Pegasus Imaging Corporation
Website: http://www.pegasusimaging.com
Address: 4522 West Spruce Street, Suite 200, Tampa, FL
33607, USA
root-software ag
Vendor/Author: root-software ag
Address: Bèrglen, SWITZERLAND
Andrea Canegrati
Vendor/Author: Andrea Canegrati
Website: http://sharppdf.it/Home.asp
Syncfusion Inc.
Vendor/Author: Syncfusion Inc.
Website: http://www.syncfusion.com
Address: 9001, Aerial Center Parkway, Suite 110, Morrisville NC
27560, USA
TallComponents BV
Vendor/Author: TallComponents BV
Website: http://www.tallcomponents.com/
Address: Venloseweg 7a, 5931 GR Tegelen, THE NETHER-
LANDS
Visual Programming Ltd.
Vendor/Author: Visual Programming Ltd.
Website: http://www.xmlpdf.com/index.html
Address: PO Box 22 222, Khandallah, Wellington, NEW
ZEALAND
13
How-To-Select a PDF Component for .NET
Covers PDF components for use in both WinForm and WebForm/ASP.NET applications
Still have questions, want more details, need advice, or have suggestions? 
Visit h
t
tp://
f
orums
.ho
wt
o
s
elect
guide
s
.
c
om/
do
tne
t
/
pdf
/
TM
Library software class:How to C#: Convert PDF, Excel, PPT to Word
How to for XImage. All Formats. XDoc.HTML5 Viewer. XDoc.Windows Viewer. XDoc.Converter. View & Process. XImage.Raster. How to C#: Convert PDF, Excel, PPT to Word
www.rasteredge.com
Library software class:VB.NET PowerPoint: Convert PowerPoint to BMP Image with VB PPT
NET PPT document converter allows for PowerPoint conversion to both images and documents, like rendering PowerPoint to BMP, GIF, PNG, TIFF, JPEG, SVG or PDF.
www.rasteredge.com
P
rod
u
cts 
C
overed 
in
 t
hi
Gui
de
• Amyuni Technologies
- Amyuni PDF Creator Developer Version - v2.0
- Amyuni PDF Converter .NET Developer Version - v2.5
• Aspose Pty Ltd
- Aspose.PDF - v2.1.5.0
- Aspose.Pdf.Fo - v1.1
- Aspose.Pdf.Form - v1.0.4
- Aspose.Pdf.Kit - v1.0.3
• ceTe Software
- DynamicPDF Generator for .NET - v3.0.3
- DynamicPDF Merger for .NET - v3.0.3
• ComponentOne LLC
- ComponentOne PDF for .NET - v1.1
• FyTek
- FyTek's PDF Forms - v3.1 Windows EXE, DLL, .NET Version     
- FyTek's PDF Meld - v5.2 Windows EXE, DLL, .NET Version
- FyTek's PDF Report zWriter - v3.2 .NET Version
- FyTek's Text2PDF - v3.1 .NET Version
• Gnostice Information Technologies Private Limited
- eDocEngine ActiveX/.NET - v2.0
- PDFtoolkit ActiveX/.NET - v2.0
• Gerald Henson
- iTextSharp - v0.04
• Kazuya Ujihara
- iText.NET - v1.2.1-1
• O2 Solutions
- PDF4NET - v2.6
• PDFTron Systems
- PDFTron PDF PageMaster - v1.1
- PDFTron PDF2SVG - v1.1
- PDFNet SDK - v2.12
• Pegasus Imaging Corporation
- PDFXpress Professional - v1.0
• root-software ag
- Report.NET - v0.08.01
• Andrea Canegrati
- SharpPDF - v2.0
• Syncfusion Inc.
- Essential PDF - v3.0.1.0
• TallComponents BV
- PDFKit.NET - v1.0
- PDFRasterizer.NET - v1.0
- TallPDF.NET - v2.0
• Visual Programming Ltd.
- Visual Programming Ibex PDF Creator - v3.0
Am
yuni PDF Cr
e
at
or De
v
eloper V
er
sion
Version 2.0, starting at $920
www.amyuni.com/en/products/pdf_creator/demo.html
Licensing: Proprietary, per developer
Amyuni PDF Creator comes in both end-user and developer
versions. The end user version is a PDF workbench application
thatlets you open PDF files, create new files, edit, annotate,
and print them, and fill out PDF forms. It also allows import
and export in various other formats including RTF, Excel,
HTML, and JPG. The Developer version brings these same
capabilities to a .NET control that you can use directly in a
Windows Forms application, or to a library that you can call in
code. Thus you can use it either from the user interface of
your application or simply behind the scenes as a PDF cre-
ation and manipulation library. 
PDF Creator supports creating most aspects of PDF files,
including form fields, annotations, bookmarks and hyperlinks,
and graphics. The library supports encrypting and security
PDF files. You can create an entire document in memory, but
you can also flush pages to a file one at a time, freeing the
memory for each one, to aid in creating large documents. On
the editing side, you can add content to existing pages, add,
insert, delete, and move pages, and edit existing content with
reflow. 
Documentation is supplied in the form of a PDF file. The com-
pany offers technical support via e-mail with extended sup-
port available for purchase, as well as through an online
forum. There is a trial version of PDF Creator available for
download. Pricing is per application, for an unlimited number
of developers and full redistribution. 
Still have questions, want more details, need advice, or have suggestions? 
Visit h
t
tp://
f
orums
.ho
wt
o
s
elect
guide
s
.
c
om/
do
tne
t
/
pdf
/
.NET Developer Series
14
Library software class:How to C#: Convert Word, Excel and PPT to PDF
All Formats. XDoc.HTML5 Viewer. XDoc.Windows Viewer. XDoc.Converter. View & Process. XImage.Raster. Adobe PDF. How to C#: Convert Word, Excel and PPT to PDF.
www.rasteredge.com
Library software class:VB.NET PowerPoint: Process & Manipulate PPT (.pptx) Slide(s)
VB.NET PowerPoint processing control add-on can do PPT creating, loading We are dedicated to provide powerful & profession imaging controls, PDF document, image
www.rasteredge.com
Am
yuni PDF C
on
v
er
t
er .NET De
v
eloper V
er
sion
Version 2.5, starting at $800
www.amyuni.com/en/products/pdf_converter/demo.html
Licensing: Proprietary, per developer
Amyuni PDF Converter comes in several versions. The end-
user version is a printer driver that allows creating a PDF doc-
ument from any Windows application that can print. The
developer version has the same basic functionality, but it is
licensed for royalty-free distribution and built so that it can
only be used from within your own application. When your
application is running, the printer (to which you can assign
any name you choose) is active; otherwise, as far as the
user's system is concerned, it doesn't exist. Redistribution is a
simple matter of copying the right files and running an activa-
tion procedure in your application's initialization code. 
Documentation is supplied in the form of a PDF file, which
covers all versions of PDF Converter (there are also ActiveX
and Win32 DLL entry points to the developer version). The
company offers technical support via e-mail with extended
support available for purchase, as well as through an online
forum. There is a trial version of PDF Creator available for
download. Pricing covers an unlimited number of applications
and developers with redistribution rights. 
Aspo
s
e
.PDF
Version 2.1.5.0, Starting at $329
www.aspose.com/Products/Aspose.Pdf/Downloads.html
Licensing: Proprietary
Aspose.PDF provides PDF creation through three methods.
First, there's a very fine-grained object model. Second, you
can transform an XML file directly into a PDF file with only a
few lines of code. Third, there's a streaming model that allows
you to open a PDF file and write directly to it, one paragraph
at a time. This last mode is ideal for keeping memory require-
ments low on large documents, though you lose some fea-
tures because it is by its nature a forward-only API. 
Aspose.PDF's object model offers a document broken up into
sections, which each contain a collection of paragraphs, as
well as such objects as OddHeader, OddFooter, EvenHeader,
EvenFooter, and so on. The Paragraph itself is an abstract
class; you'll actually add specializations of the Paragraph such
as Text, Image, Table, or Graph (which represents a simple
graphic, not a graph in the mathematical sense). You general-
ly create a document by creating objects, setting their proper-
ties, and then adding them to the appropriate collections. 
MSDN-style help covers all of this. There's also a
Programmer's Guide in the form of online help, but this is
actually online, hosted on the Aspose Web site; you'll probably
want to use a Web crawler application to pull a copy to your
local development machine if you decide to use this library.
There's a set of samples provided in either C# or VB .NET as
an ASP.NET application that shows how to mimic the reports
in the Northwind sample database. 
Other features supported by the object-oriented API include
PDF encryption, generating form fields (though not filling
them out), annotations and file attachments, and automatic
generation of tables of contents and lists of tables and fig-
ures. 
You can also use Aspose.PDF to create PDF documents direct-
ly from XML documents. These documents can either be
structured as XML in the precise schema that Aspose.PDF
uses, or transformed to that schema with XSL. This is as sim-
ple as calling the BindXML method to bind an instance of the
Pdf object to an XML file, and then calling the Save method to
save it back out as PDF. You can save PDF to a file, a stream,
or the HTTP Response object in an ASP.NET application. 
Aspose.PDF also supports a unique "direct-to-file" mode for
creating large PDF documents with minimal memory usage. In
this mode, you open a Pdf object directly on a filestream,
append a section to it, and start adding paragraphs to the
section. Each paragraph is flushed directly to the filestream
as it is written. You'll lose some functionality (for example, the
$P macro for the total page number obviously can't work if
the total number of pages isn't known) but if you're generat-
ing large documents this may be a worthwhile tradeoff. 
Aspose offers a variety of licensing plans depending on the
number of developers you intend to have using the product
and your deployment process. Depending on the plan, you can
end up with licenses for a single or multiple developers, inter-
nal deployment, deployment to a single customer site, or OEM
deployment to multiple customer sites. There are also slight
feature differences between Professional and Enterprise
licenses. Support is free and via public forums or e-mail. You
can download an evaluation copy of Aspose.PDF from the
Aspose Web site. 
Aspo
s
e
.P
df
.F
o
Version 1.1, Starting at $99
www.aspose.com/Products/Aspose.Pdf.Fo/Downloads.html
Licensing: Proprietary
15
How-To-Select a PDF Component for .NET
Covers PDF components for use in both WinForm and WebForm/ASP.NET applications
Still have questions, want more details, need advice, or have suggestions? 
Visit h
t
tp://
f
orums
.ho
wt
o
s
elect
guide
s
.
c
om/
do
tne
t
/
pdf
/
TM
Library software class:VB.NET PowerPoint: Use .NET Converter to Convert PPT to Raster
VB.NET PPT to raster images converter very well. Check PPT to PNG image converting sample code in VB powerful & profession imaging controls, PDF document, image
www.rasteredge.com
Library software class:VB.NET PowerPoint: Convert & Render PPT into PDF Document
VB.NET PowerPoint - Render PPT to PDF in VB.NET. What VB.NET demo code can I use for fast PPT (.pptx) to PDF conversion in .NET class application?
www.rasteredge.com
Aspose.Pdf.Fo is an XSL-FO engine written in 100% C#. It
apparently implements most of the XSL 1.0 version of XSL-FO,
though Aspose has not yet published detailed conformance
information. Transparency and SVG images are not supported
in this version. To use the software, you supply an XSL-FO file
or appropriate XML and XSL files, or a stream or
XmlDocument containing the appropriate information, to the
Converter object. You then call the Save method to get back
an output Stream or file with the PDF output. The software
installs with MSDN-style help on the Converter class; further
help is available in a rather sketchy Programmer's Guide on
the Aspose Web site. 
Aspose offers a variety of licensing plans depending on the
number of developers you intend to have using the product
and your deployment process. Depending on the plan, you can
end up with licenses for a single or multiple developers, inter-
nal deployment, deployment to a single customer site, or OEM
deployment to multiple customer sites. Support is free and via
public forums or e-mail. You can download an evaluation copy
of Aspose.Pdf.Fo from the Aspose Web site. 
Aspo
s
e
.P
df
.F
orm
Version 1.0.4, Starting at $119
www.aspose.com/Products/Aspose.Pdf.Form/Downloads.html
Licensing: Proprietary
Aspose.Pdf.Form provides a simple programmatic interface to
existing PDF forms. You can use it to enumerate the fields in a
document, to get the values of current form fields, or to
assign new values to existing fields. After changing the value
of fields you can also save the filled-in document. The soft-
ware installs with MSDN-style help on the Form class; further
help is available in a short Programmer's Guide on the Aspose
Web site. 
Aspose offers a variety of licensing plans depending on the
number of developers you intend to have using the product
and your deployment process. Depending on the plan, you can
end up with licenses for a single or multiple developers, inter-
nal deployment, deployment to a single customer site, or OEM
deployment to multiple customer sites. Support is free and via
public forums or e-mail. You can download an evaluation copy
of Aspose.Pdf.Form from the Aspose Web site. 
Aspo
s
e
.P
df
.Kit
Version 1.0.3, Starting at
www.aspose.com/Products/Aspose.Pdf.Kit/Downloads.html
Licensing: Proprietary
Aspose.Pdf.Kit is a product that's difficult to categorize. It's an
editor for PDF files, but rather than offer general-purpose
editing, it bundles together a set of very specific functions. If
you need these particular functions, you can get them
through a clean, object-oriented API. For anything else, you'll
need to look elsewhere: 
• Combining and splitting PDF files, appending pages, extract-
ing pages, and inserting pages
• Reading or setting the PDF document properties such as
author and title.
• Adding a logo or watermark to every page of a PDF file.
• Encrypting or decrypting a PDF file.
Documentation is supplied in MSDN-style help. There is some
additional information in a Programmer's Guide on the com-
pany's Web site. 
Aspose offers a variety of licensing plans depending on the
number of developers you intend to have using the product
and your deployment process. Depending on the plan, you can
end up with licenses for a single or multiple developers, inter-
nal deployment, deployment to a single customer site, or OEM
deployment to multiple customer sites. Support is free and via
public forums or e-mail. You can download an evaluation copy
of Aspose.Pdf.Kit from the Aspose Web site. 
DynamicPDF Gener
at
or f
or .NET
Version 3.0.3, starting at $199
www.cete.com/Products/GeneratorForNET/Download.csp
Licensing: Proprietary; can be licensed per-server or per-
developer with redistribution rights
DynamicPDF Generator for .NET is a class library that's
designed to generate PDF files directly to disk, to any
System.IO.Stream object, or straight to the IIS output stream
in an ASP.NET application. It comes in three editions: a free
Community Edition with a minimal set of page elements, and
Professional and Enterprise Editions that support an increas-
ing number of more complex elements. You can evaluate the
entire object model and all of the page elements using the
Community Edition; if you use one of the higher-end elements
without the corresponding license, DynamicPDF puts its own
watermark on the page.
Creating a PDF document with DynamicPDF Generator is an
iterative process using a reasonably simple object model. First
you create a Document object to represent the entire docu-
ment. Then you create a Page object to represent the first
page of the document. Then you create individual
PageElement objects such as Label, Link, Note, or Rectangle
Still have questions, want more details, need advice, or have suggestions? 
Visit h
t
tp://
f
orums
.ho
wt
o
s
elect
guide
s
.
c
om/
do
tne
t
/
pdf
/
.NET Developer Series
16
objects. These are the objects that have properties indicating
their color, placement, text, and so on. 
Add the PageElement objects to the Page, then add the Page
to the Document. Repeat until you have all the pages that you
need, and then output the document (which is trivially simple;
you just call the Draw or DrawToWeb method). Everything is
placed using standard typographic points (72 points to the
inch). 
There's good support for flowing and formatting text here.
The TextArea and HtmlTextArea page elements both support
text continuation with a method that lets you retrieve the
overflow: 
MyTextArea = MyTextArea.GetOverflowTextArea()
In addition, the HtmlTextArea page element lets you use
HTML tags (as well as some non-HTML attributes) for format-
ting. Tables are supported through a typical object model of
rows, columns, and cells. You can place anything you want
into a table cell, and control the overflow from one cell to
another. DynamicPDF Generator also supports PDF security
with both 40 and 128 bit encryption. 
The software is 100% managed code, strong-named and
ready to deploy to the GAC if that's your preference though it
is not deployed that way by default. It's also suitable for
XCOPY deployment, since it has no external dependencies
other than the .NET Framework. It's tested on the 1.0, 1.1, and
2.0 beta Frameworks. 
The software ships with a whole batch of samples in both C#
and VB.NET: 17 Web Form examples, 2 Windows Forms exam-
ples, 1 console application, and 2 examples showing how to
create custom page elements. Custom page elements inherit
from the PageElement base class and override its Draw
method to let you output anything you want to the PDF docu-
ment. You also get MSDN-style help that provides both an
overview of the library's operation and complete details on its
members. The product documentation is also online for
browsing at the ceTe Web site. Standard support includes 24-
hour e-mail response, and you can purchase priority support
including telephone support and e-mail support with a 2-hour
response time. 
DynamicPDF Mer
ger f
or .NET
Version 3.0.3, starting at $399
www.cete.com/Products/MergerForNET/Download.csp
Licensing: Proprietary; can be licensed per-server or per-
developer with redistribution rights
DynamicPDF Merger is a superset of ceTe's DynamicPDF
Generator product; depending on which license of Merger you
buy, you automatically get a corresponding Generator license
to go with it. What Merger brings to the table, in addition to
the ability to generate PDF files, is editing and merging exist-
ing PDF files, as well as basic PDF forms functionality. 
On the merging side of things, you can merge documents
together, append documents to the current document, or
pluck out single pages and add them to a document. You can
also create new pages using the full object model from
DynamicPDF Generator and merge them into the current doc-
ument. Merged pages can be cropped, rotatated, or scaled,
which allows you to (among other things) build a single new
page out of multiple existing pages. You can also add new
content to existing pages. Merger also allows you to read and
modify PDF form fields, as well as to flatten fields into static
content. You have access to the raw binary contents of
imported pages if you want to muck around with them. 
As with Generator, Merger ships with many samples and
MSDN-style help that's integrated with the Visual Studio .NET
help collection. The product documentation is also online for
browsing at the ceTe Web site. Standard support includes 24-
hour e-mail response, and you can purchase priority support
including telephone support and e-mail support with a 2-hour
response time. 
C
omponen
tOne PDF f
or .NET
Version 1.1, starting at $299.95
www.componentone.com
Licensing: Proprietary, per-developer with redistribution
rights
ComponentOne PDF for .NET offers an approach to building
PDF files that should feel very natural to anyone who has
worked extensively with the .NET Framework. Rather than
design an object model that is a thin wrapper around the low-
level structure of the PDF format, ComponentOne modeled
their C1.C1Pdf namespace on the System.Drawing namespace.
If you're already familiar with using the Graphics object to dis-
play text and graphics in .NET, you'll find the transition to
ComponentOne PDF for building PDF documents an easy one.
You use the same Font, Brush, RectangleF, and other objects
that you're used to working with, and just apply them to a
new canvas. 
That canvas is the C1PdfDocument object. You can draw
17
How-To-Select a PDF Component for .NET
Covers PDF components for use in both WinForm and WebForm/ASP.NET applications
Still have questions, want more details, need advice, or have suggestions? 
Visit h
t
tp://
f
orums
.ho
wt
o
s
elect
guide
s
.
c
om/
do
tne
t
/
pdf
/
TM
directly to this object with the DrawString method for text, or
add images with the DrawImage method. It also shares meth-
ods for drawings graphics with the regular .NET Graphics
class. Not everything here maps quite so directly to existing
.NET functionality, because ComponentOne does make
allowance for some unique PDF functionality. For example,
there are methods for adding bookmarks, links, and file
attachments to PDF files. In theory, you can create any PDF
document with this product, because there's a low-level .Write
method that lets you emit PDF code directly into the output
file. Most developers, though, probably won't want to deal
with the PDF specification at that level of detail. 
In addition to working directly with the C1PdfDocument
object, you may choose to use any tool that can render con-
tent to a metafile or an RTF file, because ComponentOne PDF
can use those two types of content directly to create PDF
pages. The software supports multiple page sizes within a sin-
gle PDF file, as well as setting PDF security properties. A set
of samples in C# show the basics of using the component,
and there are both standalone and integrated help files avail-
able. ComponentOne offers a variety of support options from
newsgroup support through purchased incident support. The
product can be purchased as a standalone component or as
part of the more comprehensive ComponentOne Studio
Enterprise suite of components. 
F
yT
ek
'
s PDF F
orms
Version 3.1 Windows EXE, DLL, .NET Version, $99.95
www.fytek.com/cgi-bin/getdemo.pl?prod=FRM
Licensing: Proprietary, per-user or per server
FyTek's PDF Forms product, despite the name, has nothing to
do with PDF form fields. Rather, it provides a novel way to cre-
ate PDF documents by merging an image file with a text file.
You start with a JPG or TIF image and a text file laid out so
that the information lines up with where you want it on the
finished page in a fixed width font. Then you feed them both
into FyTek's PDF Forms, and a PDF file comes out the other
end. Think of it as an all-electronic analog to running an old
paper form through a dot-matrix printer and you'll get the
idea. The product includes three versions of the software: an
executable controlled by command-line options, a standard
Windows DLL, and a .NET library. The latter two work by let-
ting you create a single object, setting lots of properties, and
calling a single method to create the output. 
Documentation in the form of a PDF file includes all the
parameters and some sample code, and there is some addi-
tional sample code available for download along with a trial
version of the program. Support is by e-mail, with 90 days
free and extended support contracts available for purchase. 
F
yT
ek
'
s PDF Meld
Version 5.2 Windows EXE, DLL, .NET Version, $29.95
www.fytek.com/cgi-bin/getdemo.pl?prod=MLD
Licensing: Proprietary, per-user or per server
PDF Meld is a batch-oriented application for manipulating PDF
files. It lets you perform a variety of operations, including
merging files, extracting pages, resizing and rotating page
contents, adding annotations or bookmarks to a PDF file,
adding page numbers, highlights, and graphics, adding or sav-
ing form data, and embedding or extracting files. PDF Meld
comes as an executable driven by switches and command
files, as a Win32 DLL, and as a .NET library. The latter is basi-
cally a single object with a whole mess of methods that match
the switches for the command-line version. 
Documentation in the form of a PDF file includes all the
parameters and some sample code, and there is some addi-
tional sample code available for download along with a trial
version of the program. Support is by e-mail, with 90 days
free and extended support contracts available for purchase. 
F
yT
ek
'
s PDF R
epor
t W
rit
er
Version 3.2 .NET Version, $299.95
www.fytek.com/cgi-bin/getdemo.pl?prod=RWN
Licensing: Proprietary, per-user or per server
PDF Report Writer is not, despite the name, a databound
reporting tool. Rather, it lets you create PDF files by supplying
their definition in plain-text files using an HTML-like markup
language. These markup files are read by the .NET library,
which spits out the resulting PDF when you call its
buildReport method. This method of building PDF files has the
advantage that designing the file is not itself a coding activity;
you need to learn a proprietary markup language, but PDF
development under this system is more akin to Web design
than writing .NET code. 
The markup language supported by PDF Report Writer is
quite comprehensive. It includes support for running headers
and footers, nested tables, imported images with transparen-
cy, graphics including a sophisticated charting language, and
PDF form fields. You can create annotations and bookmarks
and include embedded files in the generated PDFs. Generated
PDFs can be output to files or to Web pages on the fly. 
Documentation in the form of a PDF file includes all the
parameters and some sample code and report definitions. You
Still have questions, want more details, need advice, or have suggestions? 
Visit h
t
tp://
f
orums
.ho
wt
o
s
elect
guide
s
.
c
om/
do
tne
t
/
pdf
/
.NET Developer Series
18
can download a trial version to investigate further. Support is
by e-mail, with 90 days free and extended support contracts
available for purchase. 
F
yT
ek
'
s T
e
xt2PDF
Version 3.1 .NET Version, $19.95
www.fytek.com/cgi-bin/getdemo.pl?prod=T2PN
Licensing: Proprietary, per-user or per server
As you can probably guess from the name, Text2PDF converts
text files to PDF files through a simple object model - basical-
ly, read the text file into an object, set a few options, and call
the BuildPDF method. Simple angle-bracket proprietary
markup can be used to add a bit of PDF sugar to the results,
including bookmarks, hyperlinks, images, and font settings. By
and large, though, what you put into the plain text is what's
going to come out the other end as the PDF stream. 
Documentation in the form of a PDF file includes all the
parameters, as well as some sample text files demonstrating
the use of the various parameters that you can embed.
There's also more sample code for downloading. You can
download a trial version to investigate further. Support is by
e-mail, with 90 days free and extended support contracts
available for purchase. 
eDocEngine A
ctiv
eX/.NET
Version 2.0, $299
www.gnostice.com/edocdownload_x.asp
Licensing: Proprietary, per developer with redistribution
rights
Gnostice's eDocEngine is a general-purpose document-gener-
ation engine implemented as an ActiveX control (which also
works on .NET Windows forms). There's also a version built as
a .NET DLL. It includes PDF as one of its output formats, but
it is also able to generate HTML, Excel, RTF, TIFF, SVG, and
many other file formats. It uses a very flat object model to do
this; you instantiate an appropriate engine object
(gPDFEngineX in the case of PDF files) by dropping the con-
trol on your form, and then call methods of the control such
as TextOut or DrawImageXY to produce the document. Helper
classes handle some higher-level abstractions such as tables,
annotations, and borders. 
Help is supplied in the form of a single help file and a demo;
the help file also includes a FAQ and sample code. You'll prob-
ably still have to spend some time reading through the long
list of methods and properties to figure out how to make
eDocEngine do what you want. Support is via e-mail. 
PDF
t
oolkit A
ctiv
eX/.NET
Version 2.0, $299
www.gnostice.com/pdftoolkitdownload_x.asp
Licensing: Proprietary, per developer with redistribution
rights
The Gnostice PDFtoolkit supports a range of editing opera-
tions on PDF files. It's supplied as an ActiveX control (which
can also be hosted on .NET Windows Forms) and as a .NET
library). The control lets you view or print PDF files without
having Acrobat Reader installed. With this software, you can
fill in or read form fields, add watermarks, rearrange pages,
split or merge documents, add bookmarks, or read the docu-
ment properties from a PDF file. You can also extract the text
or images from pages, insert new text, activate URLs, and
flatten form fields. Everything is done through a main
gPDFDocumentX class, with some helper classes to handle
things like watermarks and encryption. The altered docu-
ments can be saved to a file or a stream. 
Help is supplied in the form of a single help file and a demo;
there's also sample code in VB.NET and C#. Support is via e-
mail. 
iT
e
xtSharp
Version 0.04, Free
http://sourceforge.net/project/showfiles.php?group_id=72954
Licensing: LGPL
iTextSharp is a port to C# of the Java iText library for gener-
ating PDF files. On the one hand, this means that despite the
low version number, iTextSharp encompasses a great deal of
functionality. On the other, it also means that it tends to use
Java idioms rather than .NET ones, so developers with a
strictly .NET background may find it somewhat difficult to use
at times. For example, rather than setting a font property, you
specify fonts using a method of the FontFactory: 
Paragraph p1 = new Paragraph(new Chunk("This
is my first paragraph.",
FontFactory.getFont(FontFactory.HELVETICA,
12)));
To use iTextSharp, you create a Document object, and then
create a PdfWriter that listens to the Document and directs its
output to a stream which could be a FileStream or some other
type of stream entirely. You then use methods of the
Document to add content, for example: 
19
How-To-Select a PDF Component for .NET
Covers PDF components for use in both WinForm and WebForm/ASP.NET applications
Still have questions, want more details, need advice, or have suggestions? 
Visit h
t
tp://
f
orums
.ho
wt
o
s
elect
guide
s
.
c
om/
do
tne
t
/
pdf
/
TM
document.Add(new Paragraph("Some text"))
When you close the document, the writer takes everything
you've dumped into the document and outputs it as a PDF
file. 
iTextSharp can handle quite a bit of advanced PDF formatting
including embedded TrueType fonts, tables, links, outlines,
graphics, and more. However, the documentation is limited to
a set of online tutorials, and support is via the SourceForge
discussion board for the project only. Although the discussion
board is still active, the library itself has not been updated
since August 2003, and it seems likely that it is no longer
under active development. 
iT
e
xt
.NET
Version 1.2.1-1, Free
http://sourceforge.net/project/showfiles.php?group_id=78685
&package_id=79924
Licensing: MPL/LGPL
iText.NET is a port to J# of the Java iText library for generat-
ing PDF files. Note that the port is to J# rather than to C#,
which means that you take on several additional dependen-
cies if you use this library; you need to include the J# redis-
tributables as well as the CLASSPATH libraries from the GNU
Foundation. You'll want to look closely at the open source
licensing and copyright requirements of the various code
pieces involved.You should also be prepared for a Java-ish
way of doing things at times, though the author has added
some C# wrappers to the underlying iText functionality.
To use iText.NET, you create a Document object, and then cre-
ate a PdfWriter that listens to the Document and directs its
output to a stream (which could be a FileStream or some
other type of stream entirely). You then use methods of the
Document to add content, for example: 
document.Add(new Paragraph("Some text"))
When you close the document, the writer takes everything
you've dumped into the document and outputs it as a PDF
file. 
iText.NET can handle quite a bit of advanced PDF formatting
including embedded TrueType fonts, tables, links, outlines,
graphics, and more. For documentation, you're referred to the
original iText tutorials. There's also a fairly extensive set of
sample code translated into C# and J#. The port is under
active development, and releases trail the Java version by
only a couple of weeks. Support for the port appears to be
minimal, with almost no discussion on the SourceForge site. 
PDF4NET
Version 2.6, $499
www.o2sol.com/downloads.htm
Licensing: Proprietary, per-developer with redistribution
rights
PDF4NET is a 100% managed code library with versions for
the full .NET Framework and the .NET Compact Framework. It
can function as a PDF generator, but it also includes full PDF
editing and PDF forms functionality. For PDF generation it
uses an approach similar to the implementation of GDI+ in the
System.Drawing namespace. The PDFPage object exposes a
Canvas on which you can draw text, images, and so on. The
objects and methods in PDF4NET are broadly similar to those
in System.Drawing but not identical. For example, PDF4NET
supplies its own PDFPen and PDFBrush objects rather than
reusing the existing Pen and Brush objects). After you've fin-
ished drawing the pages in your document, you can save the
document to a file or directly to an ASP.NET output stream. 
PDF4NET supports a good variety of PDF features, including
text (regular and HTML-formatted), graphics, bookmarks, and
annotations. You can make use of either 40- or 128-bit securi-
ty. You won't find some of the higher-level abstract objects
supported by other libraries such as tables and bar codes; if
you need those objects, you'll need to build them up yourself. 
On the PDF editing front, the software can add new pages to
an existing document, or add new content to an existing page,
but it can't alter existing content. You can overlay or underlay
new content on existing pages as a fresh layer. You can also
merge two PDF files into one, split a PDF file into individual
page files, apply security to an existing file, or extract the full
or partial content from one PDF file to another. PDF4NET also
lets you programatically fill in a PDF form and save the results
in a file, as well as flatten form fields to static text. 
Along with the libraries, PDF4NET installs a good help file and
plenty of samples written in C#. Support is provided via a Web
site accessible to registered customers only. The base price
includes 90 days of support, and you can purchase longer
support contracts in one-year increments. 
PDFT
r
on PDF P
ageMas
t
er
Version 1.1, Contact vendor for pricing
www.pdftron.com/downloads.html
Licensing: Proprietary
Still have questions, want more details, need advice, or have suggestions? 
Visit h
t
tp://
f
orums
.ho
wt
o
s
elect
guide
s
.
c
om/
do
tne
t
/
pdf
/
.NET Developer Series
20
Documents you may be interested
Documents you may be interested