簡體   English   中英

無法在 XSL-FO 中設置初始頁碼

[英]Unable to set initial page number in XSL-FO

我對 XSL-FO 處理頁碼的方式有疑問。 在我的應用程序中,我使用 Apache FOP 將 XML 轉換為 PNG 內容。 然后將此 PNG 內容“附加”到來自 TIFF 文件的內容以創建單個連續文檔的外觀。 我們的要求之一是向 PNG 內容添加頁碼。 然而,問題是頁面編號需要按順序開始,即如果有 2 頁 TIFF 內容,第一個 PNG 頁將是第 3 頁。

計算 TIFF 內容的頁數很容易,我將其作為參數傳遞給轉換器。

// setup XSLT
TransformerFactory factory = javax.xml.transform.TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(xslFile));
transformer.setParameter("tiffPgOffset", getTiffPgOffset());

並且我將該參數添加到我的 XSL 文件中以處理頁面偏移計數。

   <xsl:param name="tiffPgOffset" />

我可以很好地訪問頁面內的參數值。

  <fo:static-content flow-name="xsl-region-after" font-family="Arial">
    <fo:block font-size="16">Page 
      tiffPgOffset = <xsl:value-of select="$tiffPgOffset" />   <!-- it works here -->
    </fo:block>
  </fo:static-content>

當我想將參數值傳遞給頁面序列對象時會出現問題。 鑒於我所閱讀的內容,我認為這應該有效:

 <fo:page-sequence master-reference="main" initial-page-label="$tiffPgOffset">   <!-- this does not work -->

但事實並非如此。 相反,我收到以下運行時錯誤:

Invalid property encountered on "fo:page-sequence": initial-page-label (No context info available)

我不確定我做錯了什么,但我希望這對有更多經驗的人來說會很明顯。 提前致謝。

嘗試在initial-page-number屬性中使用AVT

initial-page-number="{$tiffPgOffset}"

暫無
暫無

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

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