簡體   English   中英

如何限制xsl-fo最多可打印pdf文檔10頁?

[英]How can I limit in xsl-fo to print at maximum 10 pages for pdf document?

我使用apache FOP導出pdf文件中的數據。 每次我嘗試導出大表(超過4000個原始數據)時,我都會收到“ outOfMemoryError”。 我的問題-如何在xsl-fo中設置限制以在一個pdf文檔中最多打印10頁?

一般來說,您不能。

XSL的指定方式,您不能限制頁面數。 有一個force-page-count屬性(請參閱https://www.w3.org/TR/xsl11/#force-page-count ),但這是強制fo:page-sequence以奇數或偶數結尾頁面,而不是強制使用特定數量的頁面。 您可以嘗試將fo:page-sequence-master (請參閱https://www.w3.org/TR/xsl11/#fo_page-sequence-master )設置為在一定數量的頁面后用完其他選項,但是ll可能會發現,通過繼續重用上次使用的頁面母版,格式化程序將從錯誤中恢復(允許這樣做)。

有關內存使用情況的FOP建議位於https://xmlgraphics.apache.org/fop/2.3/running.html#memory

您可以(如FOP建議所述)將表格拆分為多個fo:page-sequence嗎? FOP在完成頁面序列后傾向於釋放一些內存。

您可以嘗試使用其他格式化程序。 它可能在您的表上做得更好,可能經過兩次處理(在有很多前向引用時最有用),或者可能只格式化了有限數量的頁面。 例如,AH Formatter可以進行兩次遍歷格式化,並且只能輸出指定的起始頁面和結束頁面之間的頁面(請參閱https://www.antennahouse.com/product/ahf66/ahf-xslcmd.html ),而XEP可以輸出SVG和XHTML輸出的前n頁(請參見http://www.renderx.com/reference.html#Generate_Each_Page_as_separate_file )。

暫無
暫無

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

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