PDF creation with ABCpdf .NET


ABCpdf .NET - C# PDF library component for the creation and manipulation of Adobe PDF documents.

  • Free 30-day trial of full product, with free tech support!
  • Designed for web server and standalone applications.
  • Comprehensive documentation, freely adaptable projects and example code.
  • Use with C#, ASP.NET, .NET Forms, ASP, VB, and more...

Download Free Trial

After struggling with two other dynamic PDF generation products, we are delighted with the rich feature set and ease-of-use...

- Darien Kruss

Direct to PDF

Amazing Performance

ABCpdf gets up close and personal! Because it doesn’t use any print drivers and goes Direct to PDF it’s incredibly fast.

ABCpdf incorporates virtually every feature you are ever likely to need in a PDF library.

However, we are careful not to overload our objects to keep them simple, elegant and easy to use. More...

Productive in Ten Minutes

ABCpdf is a simple yet powerful PDF library for the Microsoft .NET Framework.

It is designed so you can get up to speed and productive within ten minutes.

Yet if you want fine low-level control, you can have that too with ABCpdf. More...

Fully Multi-Threaded

Because it is fully multi-threaded, you can use it flexibly from within any .NET environment - C#, ASPX, VB; and under .NET Enterprise Services, COM+ or MTS; and Classic ASP.

ABCpdf is tested extensively in a wide variety of high performance multi-threaded environments.

It is not just theoretical - it is based on almost two decades of real world development and deployment.

How to get a free licence

ABCpdf is normally priced at $329. However, we often give out free license keys. For full details check out our free license guidelines...

Try it now

If you just want to get an idea of what you can do? Why not try it out live on our demonstration web site...


Core Features of ABCpdf .NET

High-Performance Simplicity

ABCpdf .NET is a library which is simple yet powerful. Its designed so you can get up to speed quickly, yet not limit you, should you need precise, low level control over how your PDFs are generated. More...

It allows you to create pure dynamic PDF documents or to read and modify existing PDF documents. These can either be saved to file or streamed direct to a client browser. All up into the GB range and beyond. Live demo...

Display or print any PDF document. Stream rasterized images to your client browser; rasterize and save in a variety of formats and color spaces for print output; display PDFs directly on the screen using ABCpdf .NET under Windows Forms.

Multithreaded Efficiency

ABCpdf .NET is fast and lightweight. It has been designed specifically for high performance, multithreaded environments like IIS. However, if you want to use it in a less demanding environment like a regular application that is fine too.

The ABCpdf .NET documentation for .NET and ASP documentation sets are just packed with examples in both C# and VB so that you can always tell exactly how to use a method or accomplish a task.

If that is not enough for you - we are always on hand and glad to help. If you cannot see a good way to do something - just ask...

Web Page and HTML to PDF Conversion

ABCpdf .NET fully supports HTML / CSS and related technologies like JavaScript, SVG, AJAX and Font Awesome.

Three different HTML to PDF rendering engines provide a range of options and advantages.

Use Chrome style HTML to PDF conversion, or Firefox style conversion or Internet Explorer (IE) style PDF conversion.

Import HTML from local or remote web sites. Use sophisticated features like dynamic modification of pages and user tagged areas.

More about HTML to PDF conversion...

Many Image Formats

ABCpdf .NET supports a vast range of image formats including JPEG, GIF, TIFF, BMP, PNG, EXIF, WMF, EMF, JPEG 2000, Photoshop PSD & PSB, PS, EPS, XPS, WPF, SVG and SWF (Flash). It supports multiple frames so you can convert multi-page CCITT or Group 4 Fax TIFFs to PDF documents. And vice versa.

It supports unusual file types like TIFFs with JPEG, OJPEG and HDR content. If you want to import spot color PSD documents, preserving the original separations it will do that. Or CMYK TIFF images in 16 bit with alpha.

Perhaps you don't need these features right now, but the beauty is that you can rest assured that whatever images you come across, you can be confident that ABCpdf .NET is a PDF library which will support them.

Many Document Formats

Full support for Encapsulated PostScript (EPS), XML Paper Specification (XPS) and Windows Presentation Foundation (WPF) documents.

Use simple C# code to convert your PDF documents to XPS or EPS. Convert your XPS or EPS documents to PDF. Our conversion routines are carefully written to preserve the natural structure of your source documents wherever possible; this means the preservation of color spaces and the preservation or conversion of embedded fonts.

Not only does ABCpdf .NET support PDF, HTML and Rich Text Format (RTF) natively but it also links into helper applications to support a wide range of other document formats. Formats like Microsoft Word (.doc), Microsoft Excel (.xls), PowerPoint (.ppt), WordPerfect (.wpd), Lotus 1-2-3 (.wk1) and AutoCAD (.dxf).

Sophisticated PDF Rendering

Render your PDFs through to a vast range of file types in a variety of color spaces and depths. Control over sophisticated options like halftones, overprint and color separations. Annotation and 3D support for PDF 3D elements.

Support for PDF printing using a variety of techniques. This includes useful and sophisticated features like font embedding for automatic printer transfer.

A partner in this is transparency flattening which is a technology which allows you to remove transparency from your documents while leaving the vector nature of the PDF intact.

Similarly there are PDF library APIs for font vectorization which converts fonts to vector outlines; which is great if you want to ensure people cannot copy text out of your documents.

Full Featured Graphics Capabilities

ABCpdf .NET supports OpenType, TrueType and Type 1 fonts. You can either reference the font, keeping PDF documents lightweight for distribution on the web. Or, for guaranteed fidelity of reproduction you can embed fonts into your PDFs.

You can apply transformations like rotation, magnification, skew and translation. This means you can draw rotated text, images and graphics all with only a few simple commands. Apply effects like blur for drop shadows or auto-levels for image optimization.

There are lots of text settings to allow you precise control over the way that your text is displayed and laid out. Paragraph indent, kerning and tracking, word spacing, line spacing, paragraph spacing and horizontal justification are just some of the settings you can control.

Document Level Support

ABCpdf .NET allows a broad range of PDF manipulation from simple read and save operations to more complex operations like drawing scaled or rotated content from one PDF into another.

It supports layer and page insertion. Add graphics into any layer on your page. Lines, polygons, ovals, pies, arrows and text just to name a few. In RGB, CMYK, Lab and spot color at a variety of color depths.

Insert pages anywhere in your document. Append documents and reorder pages. Draw pages from one document to another. Stitch and merge PDFs to your heart's content.

This PDF library offers optimized low level C# access to the page content stream for highly flexible operations involving drawing commands.

Unicode and Complex Language Support

ABCpdf .NET supports Unicode and foreign languages. Reference fonts from the relevant foreign language pack or embed Unicode fonts for guaranteed fidelity of reproduction on any platform.

Draw text horizontally or vertically and quickly subset large CJK fonts with minimal use of memory and impact on server load.

Bidirectional layout and contextual ligatures are supported as required for Hebrew and Arabic.

All this is simply accessible via multi-styled text; supporting text box chaining to allow you to easily and automatically flow text through from one area to another using simple C# code.

High Level Access

ABCpdf .NET offers complex high level operations like recoloring of elements and pages.

Apply size reduction to large documents or automatic tagging for PDF/UA style accessibility.

Full validation against the PDF/A-1 and PDF/A-2 standards. PDF/A conformity operations to modify non-compliant documents and make them compliant. Conversion is made to work the way it should: it operates on practically all documents, even documents provided by third parties.

Text and document analysis is great for search and redaction. The identification and replacement of specific elements may be just what you need for highly specific color space manipulation.

Low Level Access

ABCpdf .NET allows even more advanced control over any PDF object in your document. If you cannot see how to accomplish a task using our simple to use methods then you can always access the raw PDF structure directly.

There are simple methods designed to allow quick access to any object in the document either for information or for modification.

Other methods allow quick and easy deconstruction of drawing content streams for analysis or manipulation - all using simple C# code.

With the release of PDF 2.0 - ISO 32000-2, ABCpdf .NET includes a complete class structure for the entire PDF specification. This allows controlled access to the object model via typed elements and also enables validation against the PDF specification.

And Much More...

Create encrypted PDFs for secure storage of PDF documents. Apply user permissions and secure these permissions with encryption keys up to 256 bits in size.

ABCpdf .NET supports Fields and Forms. Use placeholder fields in your template documents to position and lay out dynamically created elements. Add signatures and sign documents. Run form JavaScript calculations.

ABCpdf .NET supports RGB, CMYK and Grayscale colors. This means you can produce high-quality print-friendly PDFs directly from your application.

In short, this is a PDF library which does everything you would ever want. See our feature chart for full details and links to the documentation.

If you can find something you think we have not covered, please do mail and tell us!

PDF Generation in C# using ABCpdf .NET


ABCpdf .NET is designed to be simple to use. It does things the way you'd expect.

Take an example. Open an existing PDF document and add a page number to the first page.

First we create a PDF document object. We read in the existing PDF, add a page number to the top left and save the modified document.

Doc doc = new Doc();
doc.AddText("Page 1");

That's all there is to it! How much simpler could you get?


Or suppose we want to make a PDF of the google search page. We create a PDF document object, add the web page then save the document.

Doc doc = new Doc();

Pretty straightforward eh?

...Yet Powerful.

ABCpdf .NET is designed to be powerful. If you know about PDF you can use it to access and manipulate virtually any aspect of your PDF documents.

This example is complicated. It pre-supposes a knowledge of the internal structure of PDF documents. If you are new to PDF don't worry if it doesn't all make sense. Just remember, if you need it, it's there!

Let's suppose you have a large PDF containing economic data for every country in the world. You would like to ensure that the document opens showing the most relevant page for each client.

So someone from Mexico downloads the document. We know that page 165 contains the data for Mexico so let's alter the PDF so that it opens onto this page.

First we create a document object and read in our existing document.

Doc doc = new Doc();

Then we find the object ID for page 165.

doc.PageNumber = 165;
int page = doc.Page;

We create a destination for this page and insert an open action into the document catalog.

string action = $"[ {page} 0 R /Fit ]";
doc.SetInfo(doc.Root, "/OpenAction", action);

Finally we save the modified document.


Most people will never need this level of control. But if you do - it's there!

How others use ABCpdf .NET


Load.CD Sheet Music is a superb platform for publishing and sharing classical and contemporary sheet music.

They use ABCpdf at the core of their system for rendering sheet music in a beautiful yet standardized way.

Are you doing wonderful things with our components? We would love to feature it on our website. Why not tell us about your project...



ABCpdf .NET is available for C#, VB.NET, ASPX and other .NET environments.

You can use ABCpdf ASP from ASP, Visual Basic or any scripting language that supports the Microsoft ActiveX Scripting interfaces.

Because ABCpdf is fully multi-threaded it is ideal for use under IIS.