I was going to suggest SVG, the simplest way to produce a chart, but the OP 
asked about extensions like they already had something more complicated in mind 
with their mind made up about how they want to do it.

http://blog.trivadis.com/blogs/andreasmengel/archive/2008/03/14/generating-svg-pie-charts-in-pdf-documents.aspx
 

-----Original Message-----
From: Stepan RYBAR [mailto:xryb...@seznam.cz] 
Sent: Monday, January 03, 2011 4:19 PM
To: fop-users@xmlgraphics.apache.org
Subject: Re: Re: how to extend the rendering part of fop

Hi, Eugen, 

try to look for a minute on the XSL-T 2.0 library "graph2svg", could be found 
on "http://graph2svg.jinak.cz/examples_en.html";. It is pure XSL-T 2.0 from XML 
to SVG (when using two-phase transformation even inline SVG). The source XML 
code of graph2svg looks very similar to Your example code. 

Cheers, Stepan 

> ------------ Původní zpráva ------------
> Od: gen1986 <cepoi.eu...@gmail.com>
> Předmět: Re: how to extend the rendering part of fop
> Datum: 03.1.2011 20:34:39
> ----------------------------------------
> 
> Hi Jeremias,
> 
> Thanks for your quick response.
> However I'll give some more informations about what I'm trying to achieve.
> 
> A sketch of the template :
> 
> ... XSL-FO tags ...
> <fo:instream-foreign-object...
> 
> <chart:chart xmlns:c="www...charts..">  <c:pie width=".." height="..">  
> <c:title value="Hello Piechart"/>  ... some custom tags to retrieve 
> data ...
> </c:pie>
> </chart:chart>
> 
> ... XSL-FO tags ...
> 
> My elementMapping extension handles those tags and creates my objects 
> describing the chart.
> 
> 1) Actually I'm extending FONode, should I rather extend 
> InstreamForeignObject?
> 
> At some point (when the pdf is rendered) I'll use my objects to draw 
> the chart to Graphics2D. But I will not create an Image.
> 
> 
> As you mentioned, it looks a lot like what you are doing here :
> [3]
> http://barcode4j.cvs.sourceforge.net/viewvc/barcode4j/barcode4j/src/xm
> lgraphics-commons/java/org/krysalis/barcode4j/image/loader/ImageConver
> terBarcode2G2D.java?revision=1.1&view=markup
> 
> So tell me if I'm wrong :
> I must implement Graphics2DImagePainter and AbstractImageConverter, 
> I'll draw there my chart to the given Graphics2D. XMLGraphics will 
> take care of integrating it into the doc (being created by fop).
> 
> 2) I must also extend AbstractImage, but for the moment I don't really 
> understand what code to write there.
> 
> To register the converter programatically : 
>                 FopFactory factory = FopFactory.newInstance();
>               
> factory.getImageManager().getRegistry().registerConverter(myG2DConvert
> er);
> 
> That sounds ok. 
> 3) But I don't understand how to make the link between my objects and 
> the registred converter.
> 
> 
> Thanks again.
> 
> Eugen
> 
> 
> 
> Jeremias Maerki-2 wrote:
> > 
> > Hi Eugen
> > 
> > Assuming you're using Apache FOP 1.0 or later, I would suggest to 
> > you to write a set of plug-ins for the Apache XML Graphics Commons 
> > image loader framework. The documentation for that is found here:
> > http://xmlgraphics.apache.org/commons/image-loader.html
> > 
> > That's our new infrastructure for handling images. And your charting 
> > XML is nothing other than an image in XML. A good example of such a 
> > set of plug-ins can be found in Barcode4J:
> >
> http://barcode4j.cvs.sourceforge.net/viewvc/barcode4j/barcode4j/src/xm
> lgraphics-commons/
> > 
> > You can see multiple ImageConverter implementations there. One 
> > converts [1] a generic XML document into an ImageBarcode [2]. And 
> > you would create something like an ImageChart. Furthermore, I'd go 
> > the Java2D route (Graphics2D), so you'd add an ImageConverter which 
> > takes an ImageChart and produces an ImageGraphics2D [3] (The code in 
> > there basically paints your chart against a Graphics2D object). The 
> > latter can be processed by FOP's PDF support to create high-quality 
> > vector graphics without you having to learn about PDF specifics. The 
> > nice side-effect is that it won't only work for PDF, but also for 
> > all other output formats supported by FOP.
> > 
> > [1]
> >
> http://barcode4j.cvs.sourceforge.net/viewvc/barcode4j/barcode4j/src/xm
> lgraphics-commons/java/org/krysalis/barcode4j/image/loader/ImageConver
> terBarcodeXML2Barcode.java?view=markup
> > [2]
> >
> http://barcode4j.cvs.sourceforge.net/viewvc/barcode4j/barcode4j/src/xm
> lgraphics-commons/java/org/krysalis/barcode4j/image/loader/ImageBarcod
> e.java?view=markup
> > [3]
> >
> http://barcode4j.cvs.sourceforge.net/viewvc/barcode4j/barcode4j/src/xm
> lgraphics-commons/java/org/krysalis/barcode4j/image/loader/ImageConver
> terBarcode2G2D.java?view=markup
> > 
> > If you don't plan to put charts in external files (i.e. you use only 
> > fo:instream-foreign-object), you can omit the Preloader, 
> > LoaderFactory and Loader, I think. The image converters should be enough.
> > 
> > If there's something that our PDFGraphics2D can't handle, we can 
> > take a closer look at this again.
> > 
> > HTH
> > 
> > On 03.01.2011 16:55:32 gen1986 wrote:
> >> 
> >> Hi,
> >> 
> >> I'm working on a project where I have to extend FO to support 
> >> custom tags for drawing charts.
> >> For doing so I've extended ElementMapping and created my custom 
> >> ContentHandlerFactory, etc.
> >> Until here it's ok. I can get all the infos about the chart from 
> >> the xsl-fo template.
> >> 
> >> My problem is that I want now to write the chart as a stream to the 
> >> PDF, but I don't know which fop classes to use for doing it the 
> >> right way. Any help is welcome.
> >> 
> >> If my problem isn't clear enough I can give more explanations, just 
> >> let me know ;)
> >> 
> >> Thanks,
> >> 
> >> Eugen
> >> --
> >> View this message in context:
> >>
> http://old.nabble.com/how-to-extend-the-rendering-part-of-fop-tp305790
> 66p30579066.html
> >> Sent from the FOP - Users mailing list archive at Nabble.com.
> > 
> > 
> > Jeremias Maerki
> > 
> > 
> > --------------------------------------------------------------------
> > - To unsubscribe, e-mail: 
> > fop-users-unsubscr...@xmlgraphics.apache.org
> > For additional commands, e-mail: 
> > fop-users-h...@xmlgraphics.apache.org
> > 
> > 
> > 
> 
> --
> View this message in context:
> http://old.nabble.com/how-to-extend-the-rendering-part-of-fop-tp305790
> 66p30580808.html Sent from the FOP - Users mailing list archive at 
> Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org
> 
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org

Reply via email to