Hi Tom, getMultipassFactory() is just a factory method which returns SAXTransformerFactory.newInstance(); As Jeremias said, not FOP.
Regards, Georg Datterl ------ Kontakt ------ Georg Datterl Geneon media solutions gmbh Gutenstetter Straße 8a 90449 Nürnberg HRB Nürnberg: 17193 Geschäftsführer: Yong-Harry Steiert Tel.: 0911/36 78 88 - 26 Fax: 0911/36 78 88 - 20 www.geneon.de Weitere Mitglieder der Willmy MediaGroup: IRS Integrated Realization Services GmbH: www.irs-nbg.de Willmy PrintMedia GmbH: www.willmy.de Willmy Consult & Content GmbH: www.willmycc.de -----Ursprüngliche Nachricht----- Von: TomWilcox [mailto:[email protected]] Gesendet: Mittwoch, 26. August 2009 21:58 An: [email protected] Betreff: Re: AW: Area Tree Handling Hi Georg, I was just having another look at this and I realised something I hadn't recognised before... I have not come across a "multipass" factory during my FOP experiments. Could you possibly explain the getMultipassFactory() method to me..? Apologies if this is a very ignorant question. Cheers, Tom Georg Datterl wrote: > > Hi Tom, > > I get the area tree using > > FOUserAgent foUserAgent = getFopFactory().newFOUserAgent(); > Transformer transformer = > getMultipassFactory().newTransformer(); > TransformerHandler handler = > getMultipassFactory().newTransformerHandler(); > DOMResult domResult = new DOMResult(); > handler.setResult(domResult); > > org.apache.fop.render.Renderer targetRenderer = > foUserAgent.getRendererFactory().createRenderer( > foUserAgent, MimeConstants.MIME_PDF); > > XMLRenderer renderer = new XMLRenderer(); > renderer.mimicRenderer(targetRenderer); > renderer.setContentHandler(handler); > renderer.setUserAgent(foUserAgent); > > foUserAgent.setRendererOverride(renderer); > > Fop fop = > getFopFactory().newFop(MimeConstants.MIME_FOP_AREA_TREE, foUserAgent); > Result res = new SAXResult(fop.getDefaultHandler()); > transformer.transform(source, res); > org.w3c.dom.Document doc = domResult.getNode(); > > Then I get values from the tree through Xpath > > XPathFactory factory=XPathFactory.newInstance(); > XPath xPath=factory.newXPath(); > NodeList nl = > (NodeList)xPath.evaluate("//blo...@prod-id='"+DT_TAG+id+"']", doc, > XPathConstants.NODESET); > xPath.evaluate(".//blo...@prod-id='"+L1_TAG+id+"']/@bpd", > nl.item(i), > XPathConstants.NUMBER) > > The blocks I'm interested in have well-known ids and I'm interested in > more than one information below the node with id DT_TAGxx, that's why > I use a nodelist. When you find a smarter way to get the information, > please tell me, cause this xpath solution is not very fast in large > documents... > > Regards, > > Georg Datterl > > ------ Kontakt ------ > > Georg Datterl > > Geneon media solutions gmbh > Gutenstetter Straße 8a > 90449 Nürnberg > > HRB Nürnberg: 17193 > Geschäftsführer: Yong-Harry Steiert > > Tel.: 0911/36 78 88 - 26 > Fax: 0911/36 78 88 - 20 > > www.geneon.de > > Weitere Mitglieder der Willmy MediaGroup: > > IRS Integrated Realization Services GmbH: www.irs-nbg.de > Willmy PrintMedia GmbH: www.willmy.de > Willmy Consult & Content GmbH: www.willmycc.de > -----Ursprüngliche Nachricht----- > Von: TomWilcox [mailto:[email protected]] > Gesendet: Freitag, 10. Juli 2009 18:52 > An: [email protected] > Betreff: Area Tree Handling > > > Hi, > > First of all, I am a FOP dummy. I can make PDFs from FO but I don't > know about the inner workings. > > I have FOP 0.95 embedded in my Java application. I would like to > construct an FO document and modify/examine the AreaTree for it on the fly. > > This is in an attempt to fill blocks (of set size and position) on a > page with text/graphics and until the areatree info shows that block is full. > > I would like to do this as fast as possible and I thought this would > imply the best route is to get hold of the areatree object in my > application and modify/access the objects of interest. (Or, failing > that, to get hold area tree xml fragments maybe).. > > Can anyone tell me how I might go about achieving this? > > Or even better, can anyone point me in the direction of any good > tutorials/examples that show Java code using embedded FOP to generate > an area tree object for an FO stream/file and then modify it with code..? > > That would be awesome :) > > Thanks in advance, > Tom > -- > View this message in context: > http://www.nabble.com/Area-Tree-Handling-tp24431098p24431098.html > Sent from the FOP - Users mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > -- View this message in context: http://www.nabble.com/Area-Tree-Handling-tp24431098p25156283.html Sent from the FOP - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
