我使用FOP生成pdf,我想在pdf中为每个页面添加边框。我正在使用XSLT 2.0。
是否有任何方式或任何属性或任何标签为XSL中的每个页面创建边框?
您可以将border
属性添加到fo:region-*
元素(如果需要,也可以添加padding
)。
请注意,严格来说,XSL recommendation不允许这样做:
填充和边框宽度特征的值必须为“0”。
并且FOP的标准行为将以验证错误结束:
SEVERE: Exception javax.xml.transform.TransformerException:
org.apache.fop.fo.ValidationException: Border and padding for fo:region-body
"xsl-region-body" should be '0' (See 6.4.14 in XSL 1.1); non-standard values
are allowed if relaxed validation is enabled. (See position ...)
但是,由于这是一个常见的用例和其他格式化程序也允许这样做,您可以通过轻松验证运行FOP并获得所需的输出:
-r
FopFactoryBuilder.setStrictFOValidation()
方法您仍会收到有关非标准行为的警告,但处理正常继续:
WARNING: Border and padding for fo:region-body "xsl-region-body" should be '0'
(See 6.4.14 in XSL 1.1); non-standard values are allowed if relaxed validation
is enabled. (See position ...)