Adobe's Portable Document Format (PDF) defines a text presentation tool and environment where document source and integrity are much easier to assert and maintain than with plain HTML, XML, or other more accessible document formats. But despite Adobe's ownership of the format specification and its own set of tools for working with PDFs, .NET developers have lots of options to consider if they want their programs (or active Web content) to emit PDFs for a variety of uses that range from printable forms to online documentation and more. At the top end of the spectrum of products available, you'll find numerous full-fledged commercial packages, with all kinds of tools for designing PDF document formats and for extracting content to populate those formats from databases, CMSs, and other information and document repositories. Best of breed examples in this space include:
- PDFlib: a library for processing PDF output and content at runtime. Product bundles run from US$400 and up, depending on exact requirements and matching offerings.
- DynamicPDF Generator.NET: a VS.NET compatible tool that supports dynamic generation of PDF at runtime from a variety of data sources, licensed on a per-developer basis for code construction and a per server basis for runtime support. Pricing $300 and up, not including annual maintenance and support. Free evaluation available, license free Lite version available.
- Rarefind PDF n' More for .NET: a VS.NET compatible tool that runs from WinForms and WebForms and requires only the .NET runtime environment to work. Pricing is $349 and up.
- Blue-Pacific.com: ASP Turbine 7, generates PDF Documents and Flash Rich Media from ASP and ASP.NET scripts ($655 for PDF only, higher for Flash or Flash & PDF; volume discounts available).
- Ecrion.com: XF Rendering Server 2003, works with XSL-FO and SVG to produce customized outputs in many formats, including PDF, .NET API is available ($995, volume discounts available).
- PDFTron.com: PDFNet: a PDF library that works with VS.NET and all .NET programming languages ($99 to $900 depending on read, write and edit capabilities).
- Siberix.com: Siberix PDF Library, C# component for .NET for creating PDF files that includes multiple methods for formatting text, creating complex layouts, drawing figures and paths, inserting images, and so forth ($299 and up for corporate-wide license).
In the middle of the spectrum you'll find inexpensive, but capable PDF tools of many stripes and kinds. The folks at Taming the Beast have come up with a list of several tools that cost no more than $100, and I found a royalty-free runtime ($200 developer license) package as well:
- Instant PDF Generator: low cost, no-frills PDF generator that works with all modern Windows platforms. No information available about VS.NET compatibility, but definitely does the job at a low cost.
- DreamScape PDF Libraries for Developers: Royalty-free runtime license, but $200 developer license required. The item of greatest interest is likely to be PDFReport .NET for .Net Languages.
- Dynamicpdf.com: Dynamic PDF Generator.NET permits creation of PDF documents from dynamic data in a variety of formats ($99 and up, higher prices for development and server use, annual maintenance fees apply).
- ComponentSource.com: Directory of PDF components for resale (see especially ABC pdf .NET; over 110 items listed, of which at least a dozen are of direct, relevant interest to developers)
At the other end of the spectrum, you'll find several free (or nearly free) tools or services available, including:
- Kinati 2PDF Converter service: submit files up to 10 MB in size for free conversion to PDF (Word, Excel, PowerPoint, plain text, GIF, JPG, and PNG document or image formats currently supported).
- Visagesoft Free Easy PDF: Basic PDF conversion utility, no direct API access.
- PDF Creator: A .NET component library designed to create PDF documents easily using the Visual Studio .NET IDE (From .gotdotnet by Serdar Dirican).
Wherever your needs and your budget might belong on this spectrum, there's no shortage of options. But at the mid-range and lower end of this spectrum, you may be forced to consider black-box conversion utilities that don't necessarily offer direct .NET APIs or access.
Ed Tittel is a full-time writer and trainer whose interests include XML and development topics, along with IT Certification and information security topics. E-mail Ed at firstname.lastname@example.org with comments, questions, or suggested topics or tools to review.
This was first published in September 2004