There is a new article in IBM developerworks, which explains the usage of iText in simple steps Generate PDF files from Java applications dynamically. Although a it is open source, my personal experience with iText was not so happy. Using iText in Java Web Applications was quite easy. But once implemented, it took a lot of memory and CPU time, and that was for a single page PDF file. If you run the example that is provided with the article, you can see a spike in CPU usage. This was not acceptable for our applications, and we had to switch to Adobe LiveCycle forms for generating PDFs.
Generating PDFs from Web Applications using Adobe LiveCycle form server is easier than it is with iText (once you get the hang of it, the documention is one of the worst). It does perform better but it comes with a heavy price tag, and needs an application server to run on. Currently Adobe LiveCycle Forms can be integrated with WebSphere and JBoss Application servers. It is not designed for handling heavy loads, but definetely performs better than iText for low to medium loads.
While iText is free, it comes with a performance penalty and while Adobe LiveCycle Forms offers better performance, it also comes with a heavy price tag. Both are equally easy to implement. It is your requirements and budget that will govern your choice.
Friday, January 27, 2006
Subscribe to:
Post Comments (Atom)
Popular Posts
-
This post will describe how to create and deploy a Java Web Application war to Heroku using Heroku CLI. You will need a basic understanding ...
-
In a previous post, I described how to use Quartz scheduler for scheduling . In this post, I describe the configuration changes required for...
-
In this post we will see how to do an offline install Jenkins and required plugins on a Red Hat Enterprise Linux Server release 7.3. This is...
-
Some programming languages provide the feature of dispatching a funtion call to different concrete functions depending on the runtime types ...
-
In the Decorator pattern , a decorator object is wrapped around the original object. This is typically achieved having the original object a...
-
In the previous post, I described different ways in which spring and hibernate can be integrated. In this post I will describe how to use Sp...
-
Applications with business processes that are dependent on periodic notifications (for state transitions etc.) need a timer/scheduler servic...
-
Last week, I described how to implement JMS, using a stand-alone client and a Message Driven Bean . In this post and the next, I will descr...
-
The Observer pattern allows an object (an Observer) to watch another object (a Subject). The subject and observer to have a publish/subscrib...
-
If you happen to forget WebSphere administrative console password , or are locked out due to user registry problems etc and cannot login to ...
No comments:
Post a Comment