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%22+list%3Aorg.apache.xmlgraphics.fop-users+type%3Ausers+date%3A200804-201002++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]

Reply via email to