Hi Jeremias, And how does FOP now know I want the area tree and not the internal format tree?
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: Jeremias Maerki [mailto:[email protected]] Gesendet: Donnerstag, 30. Juli 2009 14:12 An: [email protected] Betreff: Re: AW: configuration difference between -pdf and -at? Hmm, try Fop fop = fopFactory.newFop(foUserAgent); instead of Fop fop = fopFactory.newFop(MimeConstants.MIME_FOP_AREA_TREE, foUserAgent); I've got a suspicion that the renderer override doesn't hook in if you specify a MIME type. I'll have to debug that. On 30.07.2009 13:31:38 Georg Datterl wrote: > Hi Jeremias, > > Thanks. Now I'm more confused than before. As you know, I generate an > area tree, then manipulate my fo file and then generate the final PDF. > Now I found a case, where the AT puts four table rows on the second > page but the final PDF has 5 rows. So the values I calculate from the > AT don't work any more. Using the batch file now gives me 5 rows in AT > and PDF. So I guess it's not a fop fault. Checking my code, I see I am > using mimicRenderer(). Can you see any reason why I only get four rows > here > > FopFactory fopFactory = FopFactory.newInstance(); > fopFactory.setUserConfig(new File("fonts/fop.xconf")); > FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); > SAXTransformerFactory mpFactory = > (SAXTransformerFactory)SAXTransformerFactory.newInstance(); > Transformer transformer = mpFactory.newTransformer(); > TransformerHandler handler = mpFactory.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 = fopFactory.newFop(MimeConstants.MIME_FOP_AREA_TREE, > foUserAgent); > Result res = new SAXResult(fop.getDefaultHandler()); > transformer.transform(source, res); > return (org.w3c.dom.Document)domResult.getNode(); > > but five rows here > > FopFactory fopFactory = FopFactory.newInstance(); > fopFactory.setUserConfig(new File("fonts/fop.xconf")); > FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); > foUserAgent.setAuthor("P3"); > foUserAgent.setCreator(pdfTarget.getAbsolutePath()); > out = new FileOutputStream(pdfTarget); > out = new BufferedOutputStream(out); > Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, > out); > TransformerFactory factory = TransformerFactory.newInstance(); > Transformer transformer = factory.newTransformer(); // identity > transformer > Source src = new StreamSource(target); > Result res = new SAXResult(fop.getDefaultHandler()); > transformer.transform(src, res); > > Mit freundlichen Grüßen > > 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: Jeremias Maerki [mailto:[email protected]] > Gesendet: Donnerstag, 30. Juli 2009 13:05 > An: [email protected] > Betreff: Re: configuration difference between -pdf and -at? > > Georg, > by default, FOP uses the configuration under the area tree renderer's own > MIME type (application/X-fop-areatree). You need to tell the area tree > renderer to mimic the PDF renderer by specifying: > -at application/pdf ifbug.xml > > Then, it'll take the PDF configuration. Other people may need to produce AT > XML for AFP or for PostScript where the configuration can be different, so we > can't just assume PDF is the right one. It has to be explicit. > > This is explained in > http://xmlgraphics.apache.org/fop/0.95/intermediate.html > but maybe not well enough. > > On 30.07.2009 12:50:04 Georg Datterl wrote: > > Hi, > > > > When I generate a pdf by calling > > > > fop.bat -c conf/fop.xconf -fo ifbug.fo -pdf ifbug.pdf > > > > everything works fine. But trying to generate the area tree from a > > similar call > > > > fop.bat -c conf/fop.xconf -fo ifbug.fo -at ifbug.xml > > > > gives me warnings about fonts not found. Obviously the first call finds the > > configuration file and can read the fonts configured in > > fop/renderers/renderer[mime=application/pdf]/fonts. Do I need a different > > mime type for the area tree? > > > > Regards, > > > > Georg Datterl Jeremias Maerki --------------------------------------------------------------------- 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]
