Benno
I have had similar problems in the past but have solved them with the
following:
<!-- ============== Flipping a figure 90
degrees - Landscape ==================
Use it
this way
<figure>
<?landscapeFigure?><title>My figure
title</title>
...
</figure>
-->
<xsl:template
match="figure[processing-instruction('landscapeFigure')]">
<fo:block-container
reference-orientation="90"
margin-left="0in"
margin-right="0in"
margin-top="0.25in"
margin-bottom="0in"
padding-top="0in" padding-bottom="0in" display-align="before">
<xsl:apply-imports/>
</fo:block-container>
</xsl:template>
This doesn't look much different from yours, but the scale-to-fit come all
the way through for me. I am using FOP 1.0. I have another similar template
that is for tables but leaves off the "display-align". On tables the "pgwide=1"
does work, but not with figures
Also, the placement of the PI is very important - right after
"figure".
Regards,
Dean Nelson
In a message dated 10/27/2011 1:45:22 A.M. Pacific Daylight Time,
quintusfixlein@googlemail.com writes:
Hi,
I
have a couple of big pictures which would fit nicely on a a4-page in landscape
- orientation. To do so, I used a processing instruction as described in Mr.
Stayton's book here. The
problem seems that some attributes given to <figure> and
<imageobject> does not have an effect to the rendered PDF. I even
managed to replace the attribute to figure, pgwide="1", which seems to be
ineffective because it's is going to the <fo:block> but not to the
<fo:block-container>. That was easy since you just have to put the
start-indent="0" attribute to this wrapper in the customization layer like
that:
<xsl:template
match="d:figure[processing-instruction('landscapeFigure')]">
<fo:block-container reference-orientation="90" start-indent="0"
width="100%" height="auto">
<xsl:apply-imports/>
</fo:block-container>
</xsl:template>
Problem
is now that the scalefit="1" - attribute to the <imagedata> - element
does not go through to the generated .fo so the picture is still far to big.
If the fo file would look like that:
<fo:block-container reference-orientation="90"
start-indent="0" width="100%" height="auto"><fo:block
start-indent="0pt">
<fo:block space-before.minimum="0.5em"
space-before.optimum="1em" space-before.maximum="2em"
space-after.minimum="0.5em" space-after.optimum="1em"
space-after.maximum="2em" keep-together.within-column="auto"
id="d0e159">
<fo:block space-before.optimum="1em"
space-before.minimum="0.8em" space-before.maximum="1.2em" font-weight="bold"
font-size="12pt" hyphenate="false" space-after.minimum="0.4em"
space-after.optimum="0.6em" space-after.maximum="0.8em"
font-family="inherit"
keep-with-next.within-column="always">Description</fo:block>
<fo:block
id="d0e166"><fo:external-graphic src=""
width="100%" height="auto" content-width="scale-to-fit"
content-height="100%"/></fo:block></fo:block></fo:block></fo:block-container>
then the picture would fit on the page perfectly.
Is there a
possibility to reach the scale-to-fit - instruction through or give it in the
customization layer?
Any answer is
appreciated.
Regards,
Benno