# xmlgraphics-fop-users mailing list archives

##### Site index · List index
Message view
Top
From Csaba Nánai <szea...@gmail.com>
Subject Re: Place image at top of page
Date Mon, 28 Nov 2016 16:10:26 GMT
Hi

You have right. Só in fop the flow ás its name is nőt paged. It paginating
át rendering time. You can using the sequences ás ie ms word but zhese can
be more complex. You can also playing with forced page braking before or
after a paragraph or block-container table etc.

Só you have many chamce tó do It bit you cannot put something exactly to a
nimbered page becose fop not page oriented.

Bye szeak

2016. nov. 28. 15:44 ezt írta ("Michel Krämer" <

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) <szeak33@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>
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-
>            <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}
>>
>> That's very much appreciated. Thank you so much!
>>
>> Michel
>>
>>
>>> On 28 Nov 2016, at 13:07, Szeak (Register Man) <szeak33@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.
>>>
>>>
>>> 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?
>>>>
>>>>
>>>> Michel
>>>>
>>>>
>>>>
>>>>> On 28 Nov 2016, at 11:48, Szeak (Register Man) <szeak33@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
>>>>> 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-unsubscribe@xmlgraphics.apache.org
>>>>>> For additional commands, e-mail: fop-users-help@xmlgraphics.
apache.org
>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>>>>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>>>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org