xml - XSL-FO background image corrupting generated pdf -


i generating pdf xsl document below. trying add background image cover entire generated pdf keeps corrupting pdf on generation when include <fo: block-container> on line 12. there way can generate background image or there doing incorrect here?

i attempted include background image using <fo:external-graphic> did display image left border @ top (which presume region-before). works hosted image url , not locally stored image isn't issue found bit strange.

<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> 

`

this solved adding <fo:block-container> around content pulling in student-name , school-name etc. full code below

`

<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="211mm" page-width="338mm" margin-top="2cm" margin-bottom="2cm" margin-left="3cm" margin-right="3cm">                                 <fo:region-body/>             </fo:simple-page-master>         </fo:layout-master-set>         <fo:page-sequence master-reference="page">             <fo:flow flow-name='xsl-region-body' font-size="20pt" letter-spacing="0.05pt">                 <xsl:apply-templates select="certificate" />             </fo:flow>              </fo:page-sequence>     </fo:root> </xsl:template>  <xsl:template match="certificate">       <xsl:variable name="imagehref"><xsl:value-of select="background"/></xsl:variable>        <fo:block-container absolute-position="absolute"         top="-2cm" left="-3cm" width="338mm" height="211mm"         background-image="{$imagehref}">          <xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />         <xsl:variable name="uppercase" select="'abcdefghijklmnopqrstuvwxyz'" />         <xsl:variable name="bgimg" select="/images/background.png"/>          <fo:block font-size="45pt" text-align="center" color="#000000" padding-top="4cm" font-family=" arial, helvetica, sans-serif">              <fo:inline font-family="serif" font-size="50pt" font-weight="bold" font-style="italic"><xsl:value-of select="first_title" /></fo:inline> honors         </fo:block>         <fo:block font-size="20pt" padding-top="5mm" 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="20pt" font-weight="lighter" text-align="center" color="#000000" font-family=" arial, helvetica, sans-serif">             <xsl:value-of select="school-name" />         </fo:block>         <fo:block padding-top="1cm" font-size="35pt" padding-before="3mm" padding-after="5mm" text-align="center" color="#000000" font-family=" arial, helvetica, sans-serif">             <fo:inline font-family="serif" font-size="40pt" font-weight="bold" font-style="italic"><xsl:value-of select="second_title" /></fo:inline>         </fo:block>         <fo:block font-size="20pt" font-weight="lighter" text-align="center" color="#000000" font-family=" arial, helvetica, sans-serif">             <xsl:value-of select="dropdown" />         </fo:block>         <fo:block font-size="20pt" font-weight="lighter" text-align="center" color="#000000" font-family=" arial, helvetica, sans-serif">             <xsl:value-of select="additional-info" />         </fo:block>         <fo:block padding-top="1.5cm" font-size="20pt" padding-bottom="5mm" 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="20pt" font-weight="lighter" text-align="center" color="#000000" font-family=" arial, helvetica, sans-serif">             <xsl:value-of select="teacher-name" />         </fo:block>         <fo:block padding-bottom="1cm"  font-size="20pt" font-weight="lighter" text-align="center" color="#000000" font-family=" arial, helvetica, sans-serif">             <xsl:value-of select="date" />         </fo:block>     </fo:block-container> </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-before="5pt" space-after.conditionality="retain">         <fo:inline>             <xsl:value-of select="school_name" />         </fo:inline>     </fo:block> </xsl:template>  <xsl:template match="dropdown">     <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> 

`


Comments

Popular posts from this blog

java - SSE Emitter : Manage timeouts and complete() -

jquery - uncaught exception: DataTables Editor - remote hosting of code not allowed -

java - How to resolve error - package com.squareup.okhttp3 doesn't exist? -