You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by ci...@dsl.pipex.com on 2006/03/01 14:54:22 UTC

fop 0.91beta fo:block-container wrongly positions fo:external-graphic when reference-orientation=90

Hi,

I'm encountering this problem: a rotated image (jpeg) is always positioned to 
the top left of the page above other fo objects and does not follow the flow of 
the content.

Code snippet:
    <fo:block padding-top="{$padding-top}" text-align="center">
      <fo:block-container reference-orientation="{$rotation}">
        <fo:block>
      <fo:external-graphic content-height="{$image-height}" content-
width="{$image-width}" display-align="center" scaling="uniform" scaling-
method="auto" src="url({$url})"/>
        </fo:block>
      </fo:block-container>
    </fo:block>


By the way: I'd like to thank and congratulate with the fop team and all 
participants (past and present) for the excellent work they're doing. I've been 
using fop 0.20.05 for the past few months and built quite complex report with 
table headers of up to 4 depths, and tables spanning many pages both 
horizontally and vertically. Hint for users: a work-around for version 0.20.05, 
to force a page break: create a table (empty or with your content) with a 
height="1000pt" for A4 page size.

Thanks
Cinzia
-- 

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: fop 0.91beta fo:block-container wrongly positions fo:external-graphic when reference-orientation=90

Posted by ci...@dsl.pipex.com.
Very much appreciated, thank you, needless to say, it worked.

Cinzia

Quoting Jeremias Maerki <de...@jeremias-maerki.ch>:

> Due to the lack of a full example FO file I can't be sure I fully
> understand what exactly the problem is. Given that you're using
> relatively positioned block-containers I assume you're using the latest
> release (0.91beta) despite your comments on 0.20.5 because 0.20.5 can't
> handle relatively positioned block-containers.
> 
> I had to try to reproduce what you're doing. Anyway, let's do some FO
> theory. XSL 1.0, 6.5.3, "block-container" says: "The size of the
> viewport-area and the reference-area has to be fixed in the
> inline-progression-direction. It must be specified unless the
> inline-progression-direction is parallel to the
> inline-progression-direction of the reference-area into which the areas
> generated by this flow object are placed."
> 
> In the case you're rotating the block-container's content area (ex.
> reference-orientation="90", the above citation kicks in and you need to
> specify either the width or inline-progression-dimension property on the
> block-container. That FOP didn't complain about your not doing that
> tells me there's still a problem in our code.
> 
> You've specified text-align="center" on the outer block. What's your
> intention? Centering the image? That won't work if the reference
> orientation is 90 or 270 on the block-container. In that case, you have
> to specify display-align="center" on the block-container.
> 
> So, you see you proably need to do a few additional things for the cases
> where you want to rotate images. If inline-container was working, this
> would obviously be a lot easier, but sadly that element isn't
> implemented, yet.
> 
> Here's a working example of a snippet that displays a rotated image
> centered:
>       <fo:block text-align="center">
>         <fo:block-container reference-orientation="90" display-align="center"
> inline-progression-dimension="3cm">
>           <fo:block>
>             <fo:external-graphic src="myimage.png" content-height="3cm"
> content-width="3cm" display-align="center"/>
>           </fo:block>
>         </fo:block-container>
>       </fo:block>
> 
> On 01.03.2006 14:54:22 cinzianet wrote:
> > Hi,
> > 
> > I'm encountering this problem: a rotated image (jpeg) is always positioned
> to 
> > the top left of the page above other fo objects and does not follow the
> flow of 
> > the content.
> > 
> > Code snippet:
> >     <fo:block padding-top="{$padding-top}" text-align="center">
> >       <fo:block-container reference-orientation="{$rotation}">
> >         <fo:block>
> >       <fo:external-graphic content-height="{$image-height}" content-
> > width="{$image-width}" display-align="center" scaling="uniform" scaling-
> > method="auto" src="url({$url})"/>
> >         </fo:block>
> >       </fo:block-container>
> >     </fo:block>
> > 
> > 
> > By the way: I'd like to thank and congratulate with the fop team and all 
> > participants (past and present) for the excellent work they're doing. I've
> been 
> > using fop 0.20.05 for the past few months and built quite complex report
> with 
> > table headers of up to 4 depths, and tables spanning many pages both 
> > horizontally and vertically. Hint for users: a work-around for version
> 0.20.05, 
> > to force a page break: create a table (empty or with your content) with a 
> > height="1000pt" for A4 page size.
> 
> 
> Jeremias Maerki
> 
> 
> ---------------------------------------------------------------------
> 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


Re: fop 0.91beta fo:block-container wrongly positions fo:external-graphic when reference-orientation=90

Posted by Jeremias Maerki <de...@jeremias-maerki.ch>.
Due to the lack of a full example FO file I can't be sure I fully
understand what exactly the problem is. Given that you're using
relatively positioned block-containers I assume you're using the latest
release (0.91beta) despite your comments on 0.20.5 because 0.20.5 can't
handle relatively positioned block-containers.

I had to try to reproduce what you're doing. Anyway, let's do some FO
theory. XSL 1.0, 6.5.3, "block-container" says: "The size of the
viewport-area and the reference-area has to be fixed in the
inline-progression-direction. It must be specified unless the
inline-progression-direction is parallel to the
inline-progression-direction of the reference-area into which the areas
generated by this flow object are placed."

In the case you're rotating the block-container's content area (ex.
reference-orientation="90", the above citation kicks in and you need to
specify either the width or inline-progression-dimension property on the
block-container. That FOP didn't complain about your not doing that
tells me there's still a problem in our code.

You've specified text-align="center" on the outer block. What's your
intention? Centering the image? That won't work if the reference
orientation is 90 or 270 on the block-container. In that case, you have
to specify display-align="center" on the block-container.

So, you see you proably need to do a few additional things for the cases
where you want to rotate images. If inline-container was working, this
would obviously be a lot easier, but sadly that element isn't
implemented, yet.

Here's a working example of a snippet that displays a rotated image
centered:
      <fo:block text-align="center">
        <fo:block-container reference-orientation="90" display-align="center" inline-progression-dimension="3cm">
          <fo:block>
            <fo:external-graphic src="myimage.png" content-height="3cm" content-width="3cm" display-align="center"/>
          </fo:block>
        </fo:block-container>
      </fo:block>

On 01.03.2006 14:54:22 cinzianet wrote:
> Hi,
> 
> I'm encountering this problem: a rotated image (jpeg) is always positioned to 
> the top left of the page above other fo objects and does not follow the flow of 
> the content.
> 
> Code snippet:
>     <fo:block padding-top="{$padding-top}" text-align="center">
>       <fo:block-container reference-orientation="{$rotation}">
>         <fo:block>
>       <fo:external-graphic content-height="{$image-height}" content-
> width="{$image-width}" display-align="center" scaling="uniform" scaling-
> method="auto" src="url({$url})"/>
>         </fo:block>
>       </fo:block-container>
>     </fo:block>
> 
> 
> By the way: I'd like to thank and congratulate with the fop team and all 
> participants (past and present) for the excellent work they're doing. I've been 
> using fop 0.20.05 for the past few months and built quite complex report with 
> table headers of up to 4 depths, and tables spanning many pages both 
> horizontally and vertically. Hint for users: a work-around for version 0.20.05, 
> to force a page break: create a table (empty or with your content) with a 
> height="1000pt" for A4 page size.


Jeremias Maerki


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org