What Szeak describes is a valid option - still it does require to „break“ the 
flow if I well understand the requirement (based on master)?
Maybe using an absolute positioned block element which is anchored to the 
related information might as well be a possible option?
https://www.data2type.de/xml/foref.html#absolute-position 
<https://www.data2type.de/xml/foref.html#absolute-position>

Thus the figure should appear on whatever page the related text will be 
rendered…

Just an idea,
Frank


> Am 28.11.2016 um 15:51 schrieb Michel Krämer <michel.krae...@googlemail.com>:
> 
> … You know, it would be great if there was something like a footnote, just 
> for the top of the page! :-) That would actually be what I need. :-)
> 
> Michel
> 
> 
>> On 28 Nov 2016, at 15:44, Michel Krämer <michel.krae...@googlemail.com> 
>> wrote:
>> 
>> 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