XSL-FO - выравнивание рисунков и подписей - PullRequest
0 голосов
/ 06 сентября 2011

Я надеялся, что следующий код выровняет блок с заголовком и изображением по центру, но он все еще выровнен по левому краю.Я пытался сделать то же самое с макетом таблицы, и это тоже не помогло.

<fo:block text-align="center">
    <fo:block text-align="left">
        <fo:external-graphic src="url('{imagedata/@fileref}')" content-width="scale-to-fit"
                scaling="uniform">
            <xsl:choose>
                <xsl:when test="imagedata/@width">
                    <xsl:attribute name="width"><xsl:value-of select="imagedata/@width" /></xsl:attribute>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:attribute name="width">60%</xsl:attribute>
                </xsl:otherwise>
            </xsl:choose>
        </fo:external-graphic>
        <fo:block font-weight="bold" space-after="0.5cm">
            <xsl:text>Figure </xsl:text>
            <xsl:value-of select="count(preceding::imageobject) + 1" />
            <xsl:text>: </xsl:text>
            <xsl:value-of select="caption" />
        </fo:block>
    </fo:block>
</fo:block>

Ответы [ 2 ]

1 голос
/ 06 сентября 2011

Вы вложили центр и оставили на выравнивании первых двух блоков.

Это должно исправить это:

<fo:block text-align="center">
  <fo:block text-align="center">
    ...
  </fo:block>
</fo:block>
0 голосов
/ 13 марта 2017

Я видел пример, в антеннаhourse.com .

Используется display-align="center" для центрирования изображения в блоке.


Образец PDF

Sample image

Коды

    <fo:block space-before="1.2em">The arrangement of the loaded graphics in fo:block can be adjusted by display-align, text-align. The following example shows the center arrangement by specifying display-align="center", text-align="center".</fo:block>
<fo:block>
   <fo:external-graphic src="./sunflower.jpg" border-style="dotted" border-width="thin" width="9.0cm" height="6.0cm" content-width="5.0cm" content-height="3.5cm" display-align="center" text-align="center" />
  </fo:block>
...