XSL FO内容页面因左右页面而异

时间:2014-12-31 18:56:57

标签: xsl-fo

是否可以为左页和右页内容设置不同的页面边框。例如,左页区域体仅在左侧有边框;右页" region-body"只有右侧边框。

我可以为左/右页面实现不同的页眉和页脚。对于页面内容,应根据左/右页面放置边框。

我为左右内容页面使用了2个简单的页面主页;但是页面大师不支持边框并导致异常"区域主体的边框应为零"。 这是他的示例代码:

<fo:layout-master-set>
  <fo:simple-page-master master-name="left_pages">
    <fo:region-body margin-top="20mm" margin-bottom="10mm" border-left="1"  />                       
  </fo:simple-page-master>

  <fo:simple-page-master master-name="right_pages">
    <fo:region-body margin-top="20mm" margin-bottom="10mm"   border-right="1"/>                  
  </fo:simple-page-master>    
</fo:layout-master-set>

谢谢。

2 个答案:

答案 0 :(得分:0)

在XSL-FO中,borders and margins之间存在差异。你不能set a border for the body region,你必须使用保证金。

要获得bodyregion的边框,您必须使用变通方法。

  • 您可以将边框作为图像添加到“开始”区域。您可以在此区域中插入大图形,它将在整个页面中展开。创建边框图像的最简单方法是使用SVG code创建矩形。
  • 另一种选择是在每个页面上使用一个块容器,它具有绝对位置和大小(与主体区域大小相同)。

答案 1 :(得分:0)

如果您使用Apache FOP处理fo文件,可以使用 -r (对于 r elaxed validation)命令来避免有关区域边框的错误消息行选项:

fop -r input.fo output.pdf

您仍会收到警告,告诉您区域边框应为0,但处理将继续,并且会创建边框。