私はこのxsl文書からPDFを生成しています。私は、生成されたPDF全体をカバーするために背景画像を追加しようとしていますが、<fo: block-container>
を12行目に含めると、生成時にPDFが破損しています。背景画像を生成する別の方法があるか、 ?XSL-FO背景画像の破損が発生しましたpdf
また、画像を表示したが、上部に境界線を残した<fo:external-graphic>
を使用して背景画像を含めることを試みました。しかし、これはホストされたイメージのURLでのみ動作し、ローカルに保存されたイメージでは問題はありませんが、ちょっと奇妙なことがわかりました。
<fo:block text-align="center" display-align="before"> <fo:external-graphic top="-20mm" bottom="-20mm" content-width="210mm" height="150mm" src="url()"> </fo:external-graphic> </fo:block>
`
<xsl:template match="/">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="page" page-height="150mm" page-width="210mm" margin-top="10mm" margin-bottom="10mm" margin-left="12mm" margin-right="12mm">
<fo:region-body margin-top="20mm" margin-bottom="20mm" />
<!-- <fo:region-before extent="20mm" /> -->
<!-- <fo:region-after extent="20mm" /> -->
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="page">
<fo:flow flow-name='xsl-region-body' font-size="20pt">
<fo:block-container absolute-position="absolute" top="-20mm" bottom="-20mm" width="210mm" height="150mm" background-image="/Users/myname/Downloads/background.png">
<fo:block/>
</fo:block-container>
<xsl:apply-templates select="certificate" />
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
<xsl:template match="certificate">
<fo:block text-align="center">
<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
<xsl:variable name="bgImg" select="/images/background.png"/>
<fo:block font-size="30pt" text-align="center" color="#000000" font-family=" Arial, Helvetica, sans-serif">
<xsl:value-of select="first_title" />
</fo:block>
<fo:block font-size="14pt" padding-before="3mm" font-weight="lighter" text-align="center" color="#000000" font-family=" Arial, Helvetica, sans-serif">
<xsl:value-of select="student_name" />
</fo:block>
<fo:block font-size="14pt" font-weight="lighter" text-align="center" color="#000000" font-family=" Arial, Helvetica, sans-serif">
<xsl:value-of select="school_name" />
</fo:block>
<fo:block font-size="20pt" padding-before="3mm" padding-after="5mm" text-align="center" color="#000000" font-family=" Arial, Helvetica, sans-serif">
<xsl:value-of select="second_title" />
</fo:block>
<fo:block font-size="14pt" font-weight="lighter" text-align="center" color="#000000" font-family=" Arial, Helvetica, sans-serif">
<xsl:value-of select="level_passed" />
</fo:block>
<fo:block font-size="14pt" font-weight="lighter" text-align="center" color="#000000" font-family=" Arial, Helvetica, sans-serif">
<xsl:value-of select="third_title" />
</fo:block>
<fo:block font-size="14pt" padding-before="8mm" font-weight="lighter" text-align="center" color="#000000" font-family=" Arial, Helvetica, sans-serif">
<xsl:value-of select="fourth_title" />
</fo:block>
<fo:block font-size="14pt" font-weight="lighter" text-align="center" color="#000000" font-family=" Arial, Helvetica, sans-serif">
<xsl:value-of select="teacher_name" />
</fo:block>
<fo:block font-size="14pt" font-weight="lighter" text-align="center" color="#000000" font-family=" Arial, Helvetica, sans-serif">
<xsl:value-of select="date" />
</fo:block>
</fo:block>
</xsl:template>
<xsl:template match="student_name">
<fo:block space-before="10mm" space-before.conditionality="retain">
<fo:inline>
<xsl:value-of select="student_name" />
<xsl:text>of</xsl:text>
</fo:inline>
</fo:block>
</xsl:template>
<xsl:template match="school_name">
<fo:block space-after="10mm" space-before="5pt" space-after.conditionality="retain">
<fo:inline>
<xsl:value-of select="school_name" />
</fo:inline>
</fo:block>
</xsl:template>
<xsl:template match="level_passed">
<fo:block space-before="10mm" space-before.conditionality="retain">
<fo:inline>
<xsl:value-of select="level_passed" />
</fo:inline>
</fo:block>
</xsl:template>
<xsl:template match="teacher_name">
<fo:block space-before="5pt">
<fo:inline>
<xsl:value-of select="teacher_name" />
</fo:inline>
</fo:block>
</xsl:template>
<xsl:template match="date">
<fo:block space-before="5pt">
<fo:inline>
<xsl:value-of select="date" />
</fo:inline>
</fo:block>
</xsl:template>
`
FO:地域-体が背景画像のプロパティ@持つことができます。あなたはすでにそれを試していますか? – tmakita
@tmakita私は、PDFが生成されると破損するようにしました。 –