OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] rotate figures with a pi


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


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]