2013-08-23 46 views
2

我正在尝试生成PDF,但我不知道如何在每个页面中添加页眉和页脚。我使用的是xsl-fo命名空间,这里是xsl代码的根。如何使用xsl-fo页脚和页眉生成pdf?

<xsl:template match="ROOT"> 
     <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
       <fo:layout-master-set> 
        <fo:simple-page-master master-name="simpleA4" 
          page-height="450mm" page-width="350mm" margin-top="20mm" 
          margin-bottom="20mm" margin-left="20mm" margin-right="20mm"> 
          <fo:region-body border="solid thick black" /> 
        </fo:simple-page-master> 
        <fo:page-sequence-master master-name="SequenceMaster1"> 
          <fo:repeatable-page-master-reference 
           maximum-repeats="3" master-reference="simpleA4" /> 
        </fo:page-sequence-master> 
       </fo:layout-master-set> 
       <xsl:apply-templates /> 
     </fo:root> 
    </xsl:template> 

和我的页面模板:

<xsl:template match="PAGE"> 
     <fo:page-sequence master-reference="SequenceMaster1" 
       text-align="center"> 
       <fo:flow flow-name="xsl-region-body"> 
        <fo:block font-family="Arial" text-align="left" 
          language="tr"> 
          <!-- ======================================Common Bigger table========================================================================================= --> 
          <fo:table width="100%" border-before-width="thin" 
           border-top-width="thick"> 
           <fo:table-column column-width="310mm" /> 
           <fo:table-body break-after="page" border-width="1mm" border-style="solid" height="410mm"> 
             <fo:table-row> 
              <fo:table-cell padding-left="2mm" height="410mm"> 
                <xsl:apply-templates /> 
              </fo:table-cell> 
             </fo:table-row> 
           </fo:table-body> 
          </fo:table> 
        </fo:block> 
       </fo:flow> 
     </fo:page-sequence> 
    </xsl:template> 

回答

6

我正在做这样的 - 在 'FO:布局主集' 我的网页主机看起来像这样:

 <fo:simple-page-master master-name="section1-first-page" page-width="8.268055555555555in" page-height="11.693055555555556in" margin-top="35.45pt" margin-bottom="35.45pt" margin-right="70.9pt" margin-left="70.9pt"> 
     <fo:region-body margin-top="21.25pt" margin-bottom="21.25pt"></fo:region-body> 
     <fo:region-before region-name="first-page-header" extent="11in"></fo:region-before> 
     <fo:region-after region-name="first-page-footer" extent="11in" display-align="after"></fo:region-after> 
     </fo:simple-page-master> 

fo:region-before定义标题区域名称,而fo:region-footer区域名称后。

要添加你要添加到“FO:页序”的内容,前“FO:流”:

 <fo:static-content flow-name="first-page-header"> 
     <fo:block><fo:inline>HEADER TEXT</fo:inline></fo:block> 
     </fo:static-content> 
     <fo:static-content flow-name="first-page-footer"> 
     <fo:block><fo:inline>FOOTER TEXT</fo:inline></fo:block> 
     </fo:static-content> 

可以明显改变流动名到任何你想要的。这只是我的代码中的一个例子。

相关问题