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/xmlgraphics-commons/java/org/krysalis/barcode4j/image/loader/ImageConverterBarcode2G2D.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(myG2DConverter); > > 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/xmlgraphics-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/xmlgraphics-commons/java/org/krysalis/barcode4j/image/loader/ImageConverterBarcodeXML2Barcode.java?view=markup > > [2] > > > http://barcode4j.cvs.sourceforge.net/viewvc/barcode4j/barcode4j/src/xmlgraphics-commons/java/org/krysalis/barcode4j/image/loader/ImageBarcode.java?view=markup > > [3] > > > http://barcode4j.cvs.sourceforge.net/viewvc/barcode4j/barcode4j/src/xmlgraphics-commons/java/org/krysalis/barcode4j/image/loader/ImageConverterBarcode2G2D.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-tp30579066p30579066.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-tp30579066p30580808.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