views:

101

answers:

4

We are developing a windows-based .Net application for distribution. This application has spreadsheet controls that we allow the user to print (essentially like printing a excel worksheet).

Our requirement is for our application to create PDF's of our reports, and also to merge multiple pdf's into one file, without the end-user of our software requiring any other third party pdf tools, such as Adobe Acrobat, to be licenced/installed on their PC.

We don't mind having to integrate 1 or 2 DLL files, but we don't want the end-user having to purchase and install additional software packages to have pdf printing from our application working.

So for, we have investigated:

  • PDFSharp: From their code samples, they seem to rely on Adobe Acrobat to be installed
  • iTextSharp: From their code samples, In the samples, they are creating every thing into table format.
  • Neevia: Currently trialling that but are receiving errors. Sent an email to their support desk, but haven't had a response yet.

Can anyone provide any other recommendations that are easy to use and distribute.

A: 

If your application can generate Excel compatible files then you can convert those files, as well as any other Office file, to PDF Format using a Web Service call using the PDF Converter Services.

Note that I worked on this product so the usual disclaimer applies.

Muhimbi
A: 

Have you looked at Tall Components?

plinth
A: 

I used PDFSharp on a project a few months ago, and as far as I can tell, it doesn't require an installation of Adobe Acrobat (my dev system does have Acrobat Reader installed, though). I used it to create PDFs from XPS documents using the beta (alpha?) PDFSharp.Xps assemblies. The nice thing about that is that, if you're using WPF, you can create an XPS document from any Visual object. The not so nice thing is, depending on the constituent controls in your Visual, it might not be well supported by PDFSharp.Xps. You might be able to do the same with Winforms controls, but I haven't investigated that aspect of the package.

Whyaduck
A: 

iText[Sharp] can do everything you want. Yes, the best way to lay out a spreadsheet in iText is in a table.

Also be aware that since 5.x, iText is available only under the AGPL, or via a commercial license from iTextSoftware. Prior versions were published under LGPL and MPL, and can still be found online. Note that its relatively difficult to find decent support for said prior versions. In particular, the itext-questions mailing list will give you the cold shoulder, where it is otherwise quite helpful.

(disclaimer time: I'm a commiter on iText (not sharp), and iTextSoftware contracts with me for support)

The latest book is quite good, and all its examples are available on line.

Mark Storer