BI publisher中的分页问题

1.1.1.         新组分页

分页是自然的,但如果想在某处强制分页如新组新页,那么可以使用Word的分页符(CTRL+ENTER快捷键),但会导致最后出现空白页;这样只能使用如下几种方式:

1、  分组声明中加@section,如<?for-each@section:G_PO_HEADER?>

2、  <?end for-each?>前加<?split-by-page-break:?>。这个翻译后,实际上是:

<xsl:if test="position()<last()">
<xsl:attribute name="break-before">page</xsl:attribute>
</xsl:if>

3、  <?end for-each?>前加<xsl:attribute name="break-after">page</xsl:attribute>,此法下RTF最后无空白页,但PDF有空白页。

4、  <?end for-each?>前加<xsl:attribute name="break-before">page</xsl:attribute>此法下RTFPDF最后都有空白页。

1.1.2.         条件分页、固定行分页

1、  任意条件分页,需要借助IF + 上面的break-after或者break-before,如:

<?if:CURRENCY_CODE="CNY"?>
<xsl:attribute name="break-before">page</xsl:attribute>
<?end if?>

2、  固定行分页,需要借助IF + 上面的break-after或者break-before,在行<?end for-each?>前,如下语句控制每页5行:

<?if:position() mod 5 =0?>
<xsl:attribute name="break-before">page</xsl:attribute>
<?end if?>

1.1.3.         页眉页脚

1、  标准的页眉页脚,即单个页眉页脚,使用Word的功能即可。

2、  扩展的页眉页脚,可使用<?start:body?><?end body?>把主体部分“框”起来,凡是在这两个标记之外的东西,都将被当作页眉页脚。

1.1.4.         页码和页数

1、  可以用Word的“自动图文集”,在任意地方插入页码,这个是“自然页码”。

2、  如果在某种情况下想让页码从特定值开始,比如新的组页码重新编号,则需要借助命令,如在for-each后写:<?initial-page-number:1?>。这里的“1”,实际上也可以用数据文件中的XML元素来替换。

1.1.5.         末页、奇偶页不同

1、  Word可在页眉页脚部分实现首页不同或奇偶页不同,没法实现末页不同,即使借助代码控制,实际实现的也是末页布局不同,而非“页眉页脚”不同。

<?start@last-page:body?><?end body?>

报表本身仅有一页时,则用<?start@last-page-first:body?><?end body?>

例子“Advanced/Last Page”,注意布局需要独立成页,即之前需要加分页符。

2、  以偶数页结束,主要目的是显示偶数页页眉页脚

<?section:force-page-count;’end-on-even-layout’?>

如果仅显示空白页,则用<?section:force-page-count;’end-on-even’?>

3、  以奇数页结束,主要目的是显示奇数页页眉页脚

<?section:force-page-count;’end-on-odd-layout’?>

如果仅显示空白页,则用<?section:force-page-count;’end-on-odd’?>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值