簡體   English   中英

在使用FOP的XSL:FO從XML生成pdf的同時,如何在所有頁面中添加動態標頭?

[英]How to add dynamic header in all the pages while generating pdf from XML using XSL:FO using fop?

我必須生成一個動態的而不是靜態的標頭,其值來自xml文件。我正在使用XSl:FO使用XML生成pDF。我想在所有頁面中添加引用部分。

XSl文件:

`<xsl:template match="References">
    <fo:block-container height="12cm" width="5cm" top="15mm" left="12cm" position="absolute">
        <fo:block font-size="8pt" font-family="Verdana">
            <xsl:apply-templates/>
        </fo:block>
    </fo:block-

'

XML檔案:

            <Referentces>
                <lbl>Date</lbl>
                <div>$date</div>
                <lbl>From</lbl>
                <div>$brief.owner</div>
                <div>T $brief.tel</div>
                #if($brief.fax)
                <div>F $brief.fax</div>
                #end
              </Referenties>

如何調用此塊自動顯示在所有頁面中?

在XSL FO中,您不會將塊容器絕對放置在試圖制作重復標頭的位置。 它將僅放置在發生它的頁面上,而不是所有頁面上。

您將靜態內容用於xsl-region-before。 因此,您的頁面順序應如下所示:

 <fo:page-sequence master-reference="page">
      <fo:static-content flow-name="xsl-region-before">
          <fo:block>This is content on every page</fo:block>
      </fo:static-content>
      <fo:flow flow-name="xsl-region--body">
          <!-- body content here -->
      </fo:flow>
  </fo:page-sequence>

您可以在相關頁面母版的版面母版集中定義頁眉和正文區域的大小。

現在,如果標題中有動態內容(取決於您所在的部分/頁面),則可以使用fo:marker和fo:retrieve-marker將內容從所在頁面拉到標題中。

請參閱http://www.renderx.com/tutorial.html#Markers ,以獲取有關標記以及如何使用它們將信息提取到靜態區域中的指南。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM