反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

批量打印时不同模板页码独立

  • 文档创建者:文档助手1
  • 历史版本:16
  • 最近更新:Wendy123456 于 2022-03-30
  • 1. 概述

    1.1 问题描述

    使用文档 批量打印 中的方法批量打印多个模板时,打印出来的页码都是连续累加的,能不能实现下图所示不同模板从 1 重新开始计算页码的效果:

    也就是不同模板页码各自独立,只有同一个模板的不同页时,页码才会累加。

    Snag_8c9db61.png  Snag_8e0c43f.png

    1.2 解决方案

    官方打印接口 FR.doURLPrint(config) 中 config 参数之一的 data 里面增加 __cumulatepagenumber__=false 即可。data 写法如下:

    data :{ 
    // 多模板格式: [{reportlet: 'name.cpt', a: 'a1'}, {reportlet: 'name.cpt', b: 'b1'}]  同样的模板会出现多页
    // 单模板格式: [{reportlet: 'name.cpt', a: 'a1', b: 'b1'}]  同样的模板只会有单页
    reportlets: reportlets, // 需要打印的模板列表
    __cumulatepagenumber__: false //每个模板的页码独立 
    },

    2. 示例

    2.1 准备用例一模板

    准备用于演示批量打印的第一个模板,直接选择设计器内置的模板即可。

    打开设计器内置模板:%FR_HOME%\webroot\WEB-INF\reportlets\demo\NewbieGuide\数据集参数.cpt

    • A4 单元格添加文本:当前页码:

    • B4 单元格添加公式:$$page_number

    注:添加这个公式目的是打印时可以直接查看到当前页的页码。

    Snag_8d41433.png

    将这个模板保存为:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\批量打印页码独立用例一.cpt

    2.2 准备用例二模板

    准备用于演示批量打印的第二个模板,直接选择设计器内置的模板即可。

    打开设计器内置模板:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Parameter\下拉复选框的控件示例.cpt

    • A4 单元格添加文本:当前页码:

    • B4 单元格添加公式:$$page_number

    注:添加这个公式目的是打印时可以直接查看到当前页的页码。

    Snag_8d75237.png

    将这个模板保存为:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\批量打印页码独立用例二.cpt

    2.3 准备批量打印模板

    新建一个普通报表:

    • A2 单元格写入文本:批量打印多个模板时页码独立:

    • B2 单元格添加一个按钮控件,按钮名字为打印,并设置一个点击事件:

    Snag_8dab76b.png

    B2 单元格点击事件代码如下:

    var printurl="http://localhost:8075/webroot/decision/view/report";
    var reportlets ="[{reportlet: 'doc/Advanced/PrintReport/批量打印页码独立用例一.cpt', 地区: '华北'}, {reportlet: 'doc/Advanced/PrintReport/批量打印页码独立用例二.cpt', type: '微小型'}]";
    var config = {
    printUrl : printurl,
    isPopUp : true, 
    // 是否弹出设置窗口,true为弹出,false为不弹出
    data :{ 
    // 多模板格式: [{reportlet: 'name.cpt', a: 'a1'}, {reportlet: 'name.cpt', b: 'b1'}]  同样的模板会出现多页
    // 单模板格式: [{reportlet: 'name.cpt', a: 'a1', b: 'b1'}]  同样的模板只会有单页
    reportlets: reportlets, // 需要打印的模板列表
    __cumulatepagenumber__: false //每个模板的页码独立 
    },
    printType : 0, // 打印类型,0为零客户端打印,1为本地打印
    // 以下为零客户端打印的参数,仅当 printType 为 0 时生效
    ieQuietPrint : false,// IE静默打印设置 true为静默,false为不静默
    // 以下为本地打印的参数,仅当 printType 为 1 时生效
    printerName : 'Microsoft Print to PDF', // 打印机名
    pageType: 2, // 打印页码类型:0:所有页,1:当前页,2:指定页
    pageIndex: '1-3', // 页码范围。当 pageType 为 2 时有效
    copy: 3, // 打印份数
    };
    FR.doURLPrint(config)

    2.4 效果预览

    保存报表,填报预览后,点击打印按钮,即可看到页码独立之效果,效果如 1.1问题描述 中所示。

    注:不支持 App 段和 HTML5 段预览。

    如果 data 中不设置 __cumulatepagenumber__=false,预览时效果如下:

    Snag_8e21047.png  Snag_8e21e8f.png

    3. 模板下载

    已完成模板请参见:

    %FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\批量打印页码独立用例一.cpt

    %FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\批量打印页码独立用例二.cpt

    %FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\PrintReport\批量打印多个模板时页码独立.cpt

    点击下载模板:

    批量打印页码独立用例一.cpt

    批量打印页码独立用例二.cpt

    批量打印多个模板时页码独立.cpt


    附件列表


    主题: 报表专题
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526