I have an existing internal application that uses Swing/AWT and makes fairly
extensive use of AWT's APIs for printing the documents created by the
application.  In the past, users have generated PDF versions of documents by
printing to Acrobat Distiller.  I now have a need to support a more
automated generation of PDF versions of the documents and have been using
iText to provide that support.  Everything is working adequately.  However,
there are a couple of side-effects that I would like to try to improve
within this application and the PDFs produced using iText.

One very appealing benefit of iText is that the PDF version of documents
produced by this application are now produced significantly more quickly
than when using Acrobat Distiller.  In fact, the documents are generated in
about 1/5 to 1/10 the time, which is certainly a welcome advantage.

There is, however, a disadvantage that I have encountered.  For quite a few
users, the iText generated documents are also significantly larger.  Most of
the documents contain a large number of images.  At the moment, I have used
the Graphics2D interfaces to iText in order to avoid rewriting a large
amount of code since users still need the ability to print to a regular
printer.  I can generate PDF files that are nearly identical in size to
those generated by Acrobat Distiller, provided that I create a Graphics2D
object that is set to convert images to JPEG format so that the images are
compressed

Unfortunately, I cannot use this specific Graphics2D feature for all of the
images.  Many of the images are png files that have transparent pixels
within the images (such as icons).  Internally, the images use ARGB format.
I'm wondering if there is any way to dynamically enable and disable the
conversion of images to JPEG?  It would be beneficial if a Graphics2D
instance could be created with the JPEG option enabled, but while using the
Graphics2D object to be able to temporarily disable that feature so that
images that should not be converted (so as to prevent the lost of features
that are not supported by JPEG).  Enabling and disabling the conversion of
the images could be controlled via a new method or via the use of a
rendering hint.  Alternatively, a Graphics2D object that would convert to
another compressed image format that retains the transparent pixels (such as
PNG) would also work.

Any thoughts or recommendations?

Regards,
Steve


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions
Buy the iText book: http://itext.ugent.be/itext-in-action/

Reply via email to