Hi Szeak!

This works! Thank you so much.

Do I understand it correctly that I need to know in advance on which page my 
figure appears? So if I need it on page 100 I will have to repeat 
<fo:single-page-master-reference master-reference="content"/> 99 times?

I'm asking because I'm generating a rather large document from DocBook using 
XSLT. There are many figures on different pages and I want to put some of them 
to the top of their respective page. I guess there is no easy solution for this 
with FOP, right?

Michel


> On 28 Nov 2016, at 14:04, Szeak (Register Man) <szea...@gmail.com> wrote:
> 
> Hi,
> 
> My solution for your need is:
> 
> <fo:layout-master-set>
>        <fo:simple-page-master master-name="content" page-height="297mm" 
> page-width="210mm" margin="0.2in">
>            <fo:region-body>
>            </fo:region-body>
>        </fo:simple-page-master>
>        <fo:simple-page-master master-name="content-with-header" 
> page-height="297mm" page-width="210mm" margin="0.2in">
>            <fo:region-body margin-top="2.5in"/>
>            <fo:region-before extent="2.5in"/>
>        </fo:simple-page-master>
> 
>        <fo:page-sequence-master master-name="mixed-content">
>            <fo:single-page-master-reference master-reference="content"/>
>            <fo:single-page-master-reference 
> master-reference="content-with-header"/>
>            <fo:repeatable-page-master-reference master-reference="content"/>
>        </fo:page-sequence-master>
>    </fo:layout-master-set>
>    <fo:page-sequence master-reference="mixed-content">
>        <fo:static-content flow-name="xsl-region-before">
>            <fo:block font-size="11pt" font-style="italic" 
> font-weight="normal" hyphenate="false" 
> keep-with-previous.within-column="always" 
> line-stacking-strategy="font-height" space-after.maximum="1.7em" 
> space-after.minimum="1.3em" space-after.optimum="1.5em" 
> space-before.maximum="0em" space-before.minimum="0em" 
> space-before.optimum="0em" text-indent="0pt">
>                Figure 3.1 Layers of code in a complex software architecture
>            </fo:block>
>            <fo:block background-color="red" id="img-layers-of-code" 
> keep-together.within-column="always" text-align="center">
>                <fo:block id="d69e465" text-align="center">
>                    <fo:external-graphic content-height="auto" 
> content-width="66%" height="auto" 
> src="url(https://placeholdit.imgix.net/~text?txtsize=33&amp;txt=350%C3%97150&amp;w=350&amp;h=150&amp;fm=png)"
>  width="auto">
>                    </fo:external-graphic>
>                </fo:block>
>                <fo:block font-size="11pt" font-style="italic" 
> font-weight="normal" hyphenate="false" 
> keep-with-previous.within-column="always" 
> line-stacking-strategy="font-height" space-after.maximum="1.7em" 
> space-after.minimum="1.3em" space-after.optimum="1.5em" 
> space-before.maximum="0em" space-before.minimum="0em" 
> space-before.optimum="0em" text-indent="0pt">
>                    Figure 1 Lorem ipsum dolor sit amet
>                </fo:block>
>            </fo:block>
>        </fo:static-content>
>        <fo:flow flow-name="xsl-region-body">
> 
> ....  the content of body
> 
> Bye
> 
> 2016-11-28 13:18 keltezéssel, Michel Krämer írta:
>>> If you want displaying the image exactly on top of the second page?
>> Yes, that's what I want! :-) I want to place an image at the top of a page, 
>> no matter how many paragraphs I have. I want to place it at the top of the 
>> very page, where I put the image, just like you do it in latex with
>> 
>> begin{figure}[t!]
>> …
>> \end{figure}
>> 
>>> I can help you in this.
>> That's very much appreciated. Thank you so much!
>> 
>> Michel
>> 
>> 
>>> On 28 Nov 2016, at 13:07, Szeak (Register Man) <szea...@gmail.com> wrote:
>>> 
>>> Hi,
>>> 
>>> If you want placing the image after 20. paragraph, why define it between 
>>> 22. and 23?
>>> Or
>>> If you want displaying the image exactly on top of the second page?
>>> 
>>> So if you want displaying the image exactly on top of the second page:
>>> You need to define a bit more complex page-masters as now. I can help you 
>>> in this.
>>> 
>>> Don't hesitate to answer.
>>> 
>>> Bye, Szeak
>>> 
>>> 2016-11-28 12:21 keltezéssel, Michel Krämer írta:
>>>> Hi Szeak,
>>>> 
>>>> Thanks a lot! This sounds very promising indeed. I can't get it to work, 
>>>> however.
>>>> 
>>>> If I put <fo:flow flow-name="xsl-region-before"> inside my page-sequence 
>>>> definition I get the following error:
>>>> 
>>>> org.apache.fop.fo.ValidationException: For "fo:page-sequence", only one 
>>>> "fo:flow" may be declared. (See position 222:48)
>>>> 
>>>> If I create a new page-sequence and put it there FOP will end up in an 
>>>> endless loop and won't stop generating pages.
>>>> 
>>>> I'm not sure this is the right way, although it really sounds promising. 
>>>> Maybe I'm just missing something. I uploaded my small example here:
>>>> 
>>>> https://gist.github.com/michel-kraemer/af82f3e115afb877338a72fa34a539cf
>>>> 
>>>> If you render it you'll see that there is an image between paragraphs 22 
>>>> and 23. You'll also see that paragraph 20 breaks at the end of page 1 and 
>>>> continues at page 2. I want to place the image at the top of page two, so 
>>>> right in the middle of paragraph 20.
>>>> 
>>>> Any ideas?
>>>> 
>>>> Thanks for your help!
>>>> 
>>>> Michel
>>>> 
>>>> 
>>>> 
>>>>> On 28 Nov 2016, at 11:48, Szeak (Register Man) <szea...@gmail.com> wrote:
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> I don't think you need any code modifing in Java.
>>>>> It seems, you need a header for the page, if i understand good your 
>>>>> needs..
>>>>> 
>>>>> So for display header correctly, you need to:
>>>>> 1. define an ie.: <fo:region-before extent="1in"/> in simple-page-master 
>>>>> definiton
>>>>>    you can define an exact name for it ie.: <fo:region-before 
>>>>> region-name="myHeader" extent="1in"/>
>>>>> 2. define an <fo:flow flow-name="xsl-region-before"> in page-sequence 
>>>>> definition
>>>>>    you can use the named definition by: <fo:flow flow-name="myHeader">
>>>>> 
>>>>> That's it.
>>>>> 
>>>>> Bye, Szeak
>>>>> 
>>>>> 2016-11-25 17:11 keltezéssel, Michel Krämer írta:
>>>>>> Hi!
>>>>>> 
>>>>>> I'm looking for a way to place an image at the top of the page, just 
>>>>>> like you can do it in LaTeX:
>>>>>> 
>>>>>> \begin{figure}[t!]
>>>>>>   ...
>>>>>> \end{figure}
>>>>>> 
>>>>>> If I understand it correctly, you should be able to do this with the 
>>>>>> fo:float object:
>>>>>> 
>>>>>> <fo:float float="before">
>>>>>>   ...
>>>>>> </fo:float>
>>>>>> 
>>>>>> I understand that FOP does not support the "before" value yet.
>>>>>> 
>>>>>> Is there a workaround to achieve the same thing? For example by placing 
>>>>>> the image absolutely or something like that?
>>>>>> 
>>>>>> I had a look at the code and it seems the feature is almost implemented 
>>>>>> but not fully yet. There is a BeforeFloat class that is supposed to 
>>>>>> place blocks in the before-float area, but even if I use <fo:float 
>>>>>> float="before"> this class never receives any children. The float also 
>>>>>> disappears from the output PDF.
>>>>>> 
>>>>>> If there is no workaround for my problem I would be very interested to 
>>>>>> implement the solution myself. I'm a Java programmer and if anyone could 
>>>>>> give me some pointers on where to start and what is missing in the 
>>>>>> current code I'd probably be able to fill the gaps.
>>>>>> 
>>>>>> Let me know what you think. Thank you so much!
>>>>>> 
>>>>>> Cheers,
>>>>>> Michel
>>>>>> 
>>>>>> 
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
>>>>>> For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org
>>>>>> 
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
>>>>> For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org
>>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
>>>> For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org
>>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
>>> For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org
>>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
>> For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org
> 


---------------------------------------------------------------------
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