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

Reply via email to