打印模板与预览模板不同

  • 文档创建者:文档助手1
  • 编辑次数:6次
  • 最近更新:Kevin-s 于 2019-06-21
  • 1. 描述

    用户系统中使用 iframe 嵌入报表,客户端浏览器看到的是报表样式 1,打印的时候不是看到的效果,而是样式 2。

    例如用户系统显示报表的 iframe 大小固定,无法完全显示 A4 纸张大小的模板,因此在显示报表的时候进行了分页处理,如每页显示 10 条数据。如果直接将这个显示结果打印到 A4 纸上,每页纸上只显示 10 条数据,下面全是空白的,不美观并且浪费纸张,所以希望打印的时候按正常页面打印。

    2. 解决方案

    类似上述这种打印效果与报表查看效果不同的情况,统一的解决方案是做二张模板,一张对应查看的模板;另一张对应打印的模板;

    进行打印时,通过 JS 调用 FR 的打印方法,将打印模板打印出来。

    3. 实现步骤

    点击打印的时候,通过 JS 调用 FR 的打印方法,使用打印模板进行打印,如下:

    <html>
    <head>
    <script type="text/javascript" src="/webroot/decision/view/report?op=emb&resource=finereport.js"></script>
    <link rel="stylesheet" type="text/css" href="/webroot/decision/view/report?op=emb&resource=finereport.css"/>
    <script type="text/javascript">
    function doFRPrint(){  //点击打印时触发
    var reportURL="/webroot/decision/view/report?reportlet=report_print.cpt"; //打印模板路径,与BS查看的效果不同
            FR.doURLFlashPrint(reportURL);   //调用FR打印方法
    }
    </script>
    </head>
    <body>
    <div id="toolbar">
    <button type="button" onclick=doFRPrint()>打印</button>
    </div>
    <iframe id="reportFrame" src="/webroot/decision/view/report?reportlet=report.cpt&__showtoolbar__=false" width=100% height=80%></iframe>
    </body>
    </html>

    4. 移动端

    移动端不支持各种打印和导出方式


    附件列表


    主题: 打印典型应用
    • 有帮助
    • 没帮助
    • 只是浏览