Oracle XML Publisher中需要实现每页打印固定行数

在Oracle XML Publisher中需要实现每页打印固定行数:

  1. 在程序中进行处理,这种方式需要将数据和格式混在一起,而且处理起来比较麻烦,搞得不好程序性能也会受到大的影响
  2. 使用XSL命令来处理,这种方式加上条件判断,可以比较简单的实现固定行数的打印

 

我设计了一个凭证打印,每张凭证打印只能打印5行,在没有限制行数的情况下,编写的标记如下:

<?for-each:G_JE_LINE_NUM?>
<?JE_LINE_NUM?>
<?ACCOUNTED_CR?>
<?ACCOUNTED_DR?>
<?DESCRIPTION?>
<?end for-each?>

 

打印出来的报表结果大致如下:

Line CR DR Description
——– ———— ———– —————–
1 2000 100000007
2 514.8 100000003
3 50310 100000002
4 100 100000004
5 200 100000001
6 440 钢板
7 43000 钢板

 

而需要实现第6行开始进行换页,只需要 编写的如下的标记即可:

<?for-each:G_JE_LINE_NUM?>
<?JE_LINE_NUM?>
<?ACCOUNTED_CR?>
<?ACCOUNTED_DR?>
<?DESCRIPTION?>
<?REFERENCE_1?>
<?if:position() mod 5 =0?> <xsl:attribute name=”break-before”>page</xsl:attribute> <?end if?>
<?end for-each?>

 

打印的结果为:

Line CR DR Description
——– ———— ———– ————-
1 2000 100000007
2 514.8 100000003
3 50310 100000002
4 100 100000004
5 200 100000001

分页……………

Line CR DR Description
——– ———— ———– ————-
6 440 钢板
7 43000 钢板

posted @ 2012-11-15 10:59  刘伟聪  阅读(506)  评论(0编辑  收藏  举报