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 @   shu'sblog  阅读(175)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示