Hi Ronnie, Basically: areaTree is the root. pageSequence is a page sequence from your fo file page is a single page in your pdf regionBefore is the header regionAfter is the footer regionBody is the body of the page
then there's lots of stuff to ignore. To find the block you are interested in, search for the id. id="XXX" in fo will be translated to prod-id="XXX". bpd is block-progression-dimension, which means block height. In your code you can use Xpath to read information, but I'd advise you to trim the document first. If you know all information you need is in one page-sequence, trim away all other sequences to make xpath way faster. 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: rOnnie974 [mailto:[email protected]] Gesendet: Freitag, 5. Februar 2010 12:48 An: [email protected] Betreff: Re: AW: AW: AW: Table height issue I just found xmlindent.com and got a 2656 lines file... Gonna a big headache%-| Georg Datterl-2 wrote: > > Hi Ronnie, > > I run the Document object through > > public static String toString(Document document) throws > TransformerException { > StringWriter stringWriter = new StringWriter(); > StreamResult streamResult = new StreamResult(stringWriter); > TransformerFactory transformerFactory = > TransformerFactory.newInstance(); > Transformer transformer = transformerFactory.newTransformer(); > transformer.setOutputProperty(OutputKeys.INDENT, "yes"); > > transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amou > nt", > "2"); > transformer.setOutputProperty(OutputKeys.METHOD, "xml"); > transformer.transform(new > DOMSource(document.getDocumentElement()), streamResult); > return stringWriter.toString(); > } > > and copy the resulting String into XMLSpy. > > 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: rOnnie974 [mailto:[email protected]] > Gesendet: Freitag, 5. Februar 2010 12:29 > An: [email protected] > Betreff: Re: AW: AW: Table height issue > > > THANK YOU for your complete answer ! > > Before you answered me, I made some researchs and succeeded in > generating an area tree file. > > Now I have to understand this file, and, before, to indent it ! FOP > made a file with the entire code in one line ! xD > > Thank you again. > > > Georg Datterl-2 wrote: >> >> Hi Ronnie, >> >> Basically (and simplified), in my case I have two colums and the >> shorter columns has to be extended. So I build my table with one >> block in each column. Each block is marked by an id. Then I serialize >> my table into a fo file and generate the area tree, an intermediate >> format between fo and pdf. This format is an xml tree with all the >> basic informations like page, column and line breaks, size of areas >> and so on. I search for the marked blocks, get their height and >> compare. Then I extend the smaller block in my original table and >> serialize again. Now I can generate the PDF and both columns have the >> same height. >> >> Problems: >> * I have to generate the area tree for each table. That takes some time. >> * One of my blocks contains a table, which gives basically >> unpredictable results if split over more than two pages. >> * What should happen if there's a page break after one column is >> already finished? In that case you won't find the block on the second >> page and extending the block might change the break position and then >> the calculated block height is incorrect. >> >> You should make REALLY sure you REALLY need that feature. >> >> http://markmail.org/search/?q=georg.datterl+from%3A%22Georg+Datterl%2 >> 2 >> +list%3Aorg.apache.xmlgraphics.fop-users+type%3Ausers+date%3A200804-2 >> +0 >> 1002++table >> >> that should give you a list of my postings talking about tables. Read >> at you own peril. :-) >> >> You can get the area tree with this code: >> >> 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(foUserAgent); >> Result res = new SAXResult(fop.getDefaultHandler()); >> transformer.transform(source, res); // source is a >> StreamSource containing the fo file >> return (org.w3c.dom.Document)domResult.getNode(); >> >> Hope that helps. >> >> 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: rOnnie974 [mailto:[email protected]] >> Gesendet: Freitag, 5. Februar 2010 11:43 >> An: [email protected] >> Betreff: Re: AW: Table height issue >> >> >> Thanks for your answer Georg. >> >> I did not find the threads you are talking about. >> >>> I create the table, parse the area tree and then insert empty blocks >>> with a calculated height to simulate that. >> Could you please explain me how to do that ? I am a beginner and do >> not know what area trees are. >> >> Thanks you in advance. >> >> >> >> Georg Datterl-2 wrote: >>> >>> Hi Ronnie, >>> >>>> Does not exist an attribute that would say to my table to extend it >>>> until there is no more available area on the last page ? >>> >>> Trust me, there is none. I create the table, parse the area tree and >>> then insert empty blocks with a calculated height to simulate that. >>> You can search the archive for threads I started, many of them deal >>> with exactly that problem... >>> >>> 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: rOnnie974 [mailto:[email protected]] >>> Gesendet: Freitag, 5. Februar 2010 05:32 >>> An: [email protected] >>> Betreff: Re: Table height issue >>> >>> >>> Hi, >>> >>> Thanks for your answer. >>> >>> Unfortunately, as I said, I write directly in XSL FO. It was >>> simplier for me to have the design I want, but perhaps I made a mistake. >>> >>> Moreover, the height of each quote can change as they can have a >>> bigger description. Another difficulty is that the document can be >>> extended on several pages, and the header do not have to be repeated. >>> So the last page can be different than if it has only one. >>> >>> Does not exist an attribute that would say to my table to extend it >>> until there is no more available area on the last page ? >>> >>> >>> Venkat Reddy-7 wrote: >>>> >>>> Hi, >>>> >>>> May be, you can acheive this using your xslt file. >>>> I hope, you are using XSLT + XML to generate XSL:FO file. >>>> You can check the number of rows under each quote while generating >>>> the FO file, add the extra empty rows or increase the height of the >>>> last row when the script finds less no.of rows. >>>> >>>> Hope this will help you, >>>> Venkat. >>>> >>>> rOnnie974 wrote: >>>>> I am using the trunk version of FOP. >>>>> >>>>> here is a pdf I generated. >>>>> >>>>> https://www.yousendit.com/download/S1VEaUNGaTFoMlVLSkE9PQ >>>>> (available >>>>> 7 >>>>> days) >>>>> >>>>> I want that the second table can be extended to fill the entire page. >>>>> >>>>> >>>>> Venkat Reddy-7 wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Can you please provide an example doc what you are looking for? >>>>>> and also mention the version you are using... >>>>>> >>>>>> Thanks, >>>>>> Venkat. >>>>>> >>>>>> rOnnie974 wrote: >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> I make quote documents by writing directly in XSL-FO with a XML >>>>>>> behind. >>>>>>> >>>>>>> The number of rows is variable from one quote to another, so I >>>>>>> have to put some blank rows at the end of the table body before >>>>>>> the footer, so that the table takes the entire page. >>>>>>> >>>>>>> How can I make it dynamically ? Or do you see another solution >>>>>>> to this issue ? >>>>>>> >>>>>>> Thanks in advance. >>>>>>> >>>>>>> Ronnie Baret >>>>>>> >>>>>>> >>>>>> ----------------------------------------------------------------- >>>>>> - >>>>>> - >>>>>> - >>>>>> - 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://old.nabble.com/Table-height-issue-tp27451583p27463438.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://old.nabble.com/Table-height-issue-tp27451583p27466097.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://old.nabble.com/Table-height-issue-tp27451583p27466541.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://old.nabble.com/Table-height-issue-tp27451583p27466728.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]
