-none- 2007-10-06 - By Leech, Jonathan
Back First, here's the context behind what I'm trying to do: I am integrating Flying Saucer, iText, JFreeCharts, and Batik to produce PDF reports, similar to (actually replacing) big.faceless.org Report Generator. I am mostly done, but my biggest outstanding problem has to do with the iText / Batik integration. I have followed the SVG example from the iText in Action book. My issue is that <pattern> elements within the SVG are rasterized when output. When my PdfTemplate and Graphics2D size is a few hundred by a few hundred, the output quality is poor. When I increased the size to a few thousand by a few thousand, the CPU spun for 15 minutes, and the resulting PDF locked up my Firefox browser. It appears Apache FOP handles SVG in a similar manner, but perhaps more emphasis has been applied to its SVG capabilities. See http://xmlgraphics.apache.org/fop/dev/svg.html. In particular it handles svg <pattern> as a vector, not a raster. As I see my options, I can do one of the following: 1) Update com.lowagie.text.pdf.PdfGraphics2D to behave like FOP's version. 2) Use FOP or Batik to render the SVGs into standalone PDFs (or PDF commands), and include them in my iText-produced PDF. I am leaning towards option #2, because doing so gets me from point A to point B without making modifications to any of the projects (currently I have modified the iText Image and PdfContentByte classes to directly support SVG content). The downside is nobody else will benefit. However, Option 1 could be tricky as well - you probably don't want iText to have a dependency on FOP, there could be licensing issues if you copy / include the code etc. Thoughts? Sincerely, Jonathan Leech Virtela Communications
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=us-ascii"> <META content="MSHTML 6.00.5730.11" name=GENERATOR></HEAD> <BODY> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>First, here's the context behind what I'm trying to do: </SPAN></FONT><FONT face=Arial size=2><SPAN class=517573221-05102007>I am integrating Flying Saucer, iText, JFreeCharts, and Batik to produce PDF reports, similar to (actually replacing) big.faceless.org Report Generator.</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>I am mostly done, but my biggest outstanding problem has to do with the iText / Batik integration . I have followed the SVG example from the iText in Action book. My issue is that <pattern> elements within the SVG are rasterized when output. When my PdfTemplate and Graphics2D size is a few hundred by a few hundred, the output quality is poor. When I increased the size to a few thousand by a few thousand, the CPU spun for 15 minutes, and the resulting PDF locked up my Firefox browser.</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>It appears Apache FOP handles SVG in a similar manner, but perhaps more emphasis has been applied to its SVG capabilities. See <A href="http://xmlgraphics.apache.org/fop/dev/svg.html">http://xmlgraphics.apache .org/fop/dev/svg.html</A>. In particular it handles svg <pattern> as a vector, not a raster.</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>As I see my options , I can do one of the following:</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>1) Update com.lowagie.text.pdf.PdfGraphics2D to behave like FOP's version.</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>2) Use FOP or Batik to render the SVGs into standalone PDFs (or PDF commands), and include them in my iText-produced PDF.</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>I am leaning towards option #2, because doing so gets me from point A to point B without making modifications to any of the projects (currently I have modified the iText Image and PdfContentByte classes to directly support SVG content). The downside is nobody else will benefit. However, Option 1 could be tricky as well - you probably don't want iText to have a dependency on FOP, there could be licensing issues if you copy / include the code etc.</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>Thoughts?</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>Sincerely,</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>Jonathan Leech</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=517573221-05102007>Virtela Communications</SPAN></FONT></DIV></BODY></HTML>
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ __ ____ ____ ____ ____ ____ ____ ____ ____ ____ iText-questions mailing list iText-questions@(protected) https://lists.sourceforge.net/lists/listinfo/itext-questions Buy the iText book: http://itext.ugent.be/itext-in-action/
|
|