wszystkie wpisy

Review of tools for PDF generate in .net

This is my first blog post in English, so fill free to add your comment if any part is incomprehensible.

We have many pdf libraries that we can use, but none of them are perfect and all of them have some advantages and disadvantages. Here is my little experience with generating PDF file in .net framework with generating reports both, in a browser on demand and large numbers in bash/console by night.

Crystal_Reports- big, commercial library develop by big company

Pros: 

  • can be really fast

Cons: 

  • ugly (at least not pretty) reports

  • works on my machine issue (your report can be seen different in different machine, in example on server what can be frustrating when troubleshooting). 

SQL_Server_Reporting_Services - big library that comes with commercial licence for MS SQL Server

Pros:

  • quite pretty

  • have many in common with office / excel, so you BI can help you in building reports

  • can use custom fonts

Cons:

Local Mode:

  • have memory leaks (you will see it when you try generate PDF in large numbers)

  • more complicated reports can be really slow (reporting services team upgrading reporting services from .net 3.5 to 4.0 made bug with grouping rows in table).

  • don’t have justify text 

  • you can’t “copy/paste” document from MS Word

Server Mode:

  • sometimes there are issue with authentication and priviliges

  • you can’t use collection of your objects as data source (it was a reason why I choose Local Mode).

  • don’t have justify text 

  • you can’t “copy/paste” document from MS Word

Wkhtmltopdf - open source library made by google for converting html into pdf

Pros:

  • quite fast

Cons:

  • graph from jQuery library are medium quality (in magnification you can see pixels)

  • few options for editing text

MS Word Interop - native MS Word API for CRUD operations in word documents

Pros:

  • best MS Word document projection

Cons:

Telerik - Kendo-UI - commercial library to creating great html, and export it to pdf

Pros:

  • quite pretty

  • write html and just export it into pdf

Cons:

  • have trouble with custom fonts 

  • pdf generation could be faster