反饋已提交
網絡繁忙
FineReport 8.0 和 9.0 自带 PDF 打印、Flash 打印和 Applet 打印方式,且配套一个本地软件打印的插件,以覆盖各种场景和满足客户的特殊需求。
但过多的打印方式对用户的选择造成了一定的困扰,且随着 Web 协议框架和技术的完善,有些打印方式渐渐被淘汰,部分浏览器对老打印方式的支持也越来越差。
为了提升用户的体验、简化打印的场景,FineReport 10.0 对打印功能进行了升级,将各种打印方式整合到一起,形成一个统一的打印入口,让客户的选择变得更加简单清晰。
注1:10.0 设计器和部署包使用的都是 openjdk,而使用 openjdk 无法启动 flash 打印,但使用 Oracle/sun jdk 可以。
注2:flash 打印目前是已经被淘汰了的技术,很多浏览器都将不再支持 flash 打印,建议客户使用零客户端或本地打印。
新打印有以下特点:
易用性强:易于设置,可预先进行页面设置传递至打印机,并可以保存用户打印习惯,无需复杂设置,一键打印。同时对于市面上几乎所有类型打印机都能很好的支持。针式、 热敏打印机打印是容易出现打印不清晰、打印效果不好的问题都能通过本地软件打印得到解决。
功能丰富:提供套打、批量打印、打印内容控制、打印偏移、静默打印等丰富的功能。
性能强大:相同环境下,零客户端打印耗时不到同类竞品的一半,本地软件打印耗时不到同类竞品的 1/3。
新打印支持两种打印方式:
零客户端打印:无需安装打印软件,任何机器上随时都能打印,适合更偏向打印便捷性的客户。
本地软件打印:需要安装打印软件,适合固定机器进行大量打印的客户,有更高的效率和更丰富的设置,不受浏览器约束。
IE 下支持
其他不支持
不支持 https 访问 http
支持 http 访问 http
支持 http 访问 https
支持 https 访问 https
点击「服务器>服务器配置>打印设置」,可设置打印方式,对所有模板生效,如下图所示:
点击「模板>打印设置」,默认为「采用服务器设置」,可选择「为该模板单独设置」,则只对当前模板有效,如下图所示:
零客户端打印设置内容如下图所示:
各项设置的定义如下表所示:
选择本地软件打印,需在服务器端安装 FinePrint 软件。点击下载FinePrint V5 版本:FinePrint 。
用户可在「服务器配置>打印设置」中设置软件下载地址,如下图所示:
设置的定义如下表所示:
可以自定义下载地址,当客户使用的是内网时,可以设置内网地址来下载
例如在软件下载地址里填相对路径 /webroot/FinePrint_Windows_5_0.exe ,可以将下载的 FinePrint 软件放在报表路径 webroot 下
IE 浏览器使用静默打印功能
注:远程设计修改打印端口后,需要重启工程才可生效
本地软件打印基础设置内容如下图所示:
默认不勾选。
勾选后,打印时,点击打印按钮弹出如下弹窗,默认选中所有 sheet,如下图所示:
注:分页预览下不支持
默认打印「所有页」
勾选「指定页」时,在后面文本框中输入符合格式要求的数值
勾选「双面打印」,可以设置打印「奇数页」或者打印「偶数页」
点击「模板>模板 Web 属性」,根据模板类型选择「分页预览设置、填报页面设置、数据分析设置」,设置「为该模板单独设置」,双击打印按钮,在工具栏中新增打印按钮,如下图所示:
注1:老的打印按钮,显示为「打印(兼容)」。
注2:版本升级后,老的打印按钮无法添加到工具栏上进行使用,若想使用老的打印方法,可以通过在工具栏中添加自定义按钮调用接口的方法实现。接口详情请参见:JS 调用 FR 打印方法。
JAR 包时间在 2020-04-26 及之后的 FineReport,新增打印鉴权机制,打印权限受 模板认证 权限控制。
打印鉴权机制适用于「本地打印、零客户端」打印和兼容的多个打印方式( PDF 打印、Flash 打印),服务器端打印不受限制。
注:跨域情况下打印,模板认证控制打印权限功能需要做单点登录,否则无法支持模板认证。
模板认证开启
模板无需认证
仅认证用户密码
「登录用户」可以打印任何模板
未登录用户打印时提示:请登录后进行打印
角色权限认证
「登录用户」可以打印「有权限」的模板
登录用户打印无权限模板时提示:此用户无权限打印该模板
未登录用户打印时右上角提示:请登录后进行打印
数字签名认证
「通过数字签名认证」的用户可以打印「有权限」的模板
通过数字签名认证的用户打印无权限模板时提示:此用户无权限打印该模板
未通过数字签名认证的用户打印时提示:此用户无权限打印该模板
跨域打印时,需要点击「服务器>报表平台管理」登录数据决策系统,再点击「管理系统>安全管理>安全防护」,点击 Security Headers 的「高级管理」,关闭「点击劫持攻击防护」和「内容嗅探攻击防护」。如下图所示:
升级至 2020-04-26 之后的 JAR 包,打印软件不生效。
一般是由于打印软件版本过低,使用文档中 3.3.1 节提供的 FinePrint V5 版本即可。
选择「本地软件打印」时,提示本地打印软件启动失败,如下图所示:
点击提示中的「下载安装」,下载并启动本地打印软件。并注意以下几点:
1)本地打印不要安装在设计器的安装目录下。
2)若已安装好本地打印软件,提示启动失败,请检查 9092 端口是否被占用。
3)若机器性能较差,会导致首次启动消耗时间较长。出现以上报错时请耐心等待,或稍后再次尝试打印。
目前浏览器打印预览不兼容 IE10 及以下版本,不兼容时打印预览右侧 iframe 提示「此浏览器暂不支持打印预览」,如下图所示:
注:IE11 有些小版本可能不兼容,更换浏览器即可。
在 IE 浏览器下进行打印时,需要启用管理加载项中的 Adobe PDF Reader 控件,否则提示「安装警告」或打印出来的文件名默认 ReportSerber,如下图所示:
Tomcat 上调用 FR 工程的本地打印,如果 Tomcat 上无 FR 工程,下面这个请求报错 404,如下图所示:
注:该问题在 Finereport 10.0 和 Finereport 9.0 中都会出现。
执行 FineReport.js 的时候,会尝试从本服务器上加载资源,而调用者的服务器上,没有报表工程,加载不到资源,所以报错。
在跨域调用新打印时,需要额外引入两个 js,分别是 socket.io.js 和 jquery.watermark.js (引入位置在 FineReport.js 后面),示例代码如下所示:
注:Tomcat 下不能有报表工程。
1)10.0 示例
<script type="text/javascript" src="http://localhost:8075/webroot/decision/view/report?op=resource&resource=/com/fr/web/core/js/socket.io.js"></script><script type="text/javascript" src="http://localhost:8075/webroot/decision/view/report?op=resource&resource=/com/fr/web/core/js/jquery.watermark.js"></script>
2)9.0 示例
<script type="text/javascript" src="http://localhost:8075/WebReport/ReportServer?op=resource&resource=/com/fr/web/core/js/socket.io.js"></script> <script type="text/javascript" src="http://localhost:8075/WebReport/ReportServer?op=resource&resource=/com/fr/web/core/js/jquery.watermark.js"></script>
当「模板>页面设置」中纸张大小为「自定义」时,本地软件打印的内容可能会显示不全。
因为 Java 默认的打印,会从打印机纸张里寻找相近的纸张进行匹配。如果没有在打印软件中添加自定义纸张,可能找出来的是别的纸张。从而导致打印内容被截断。
需要在打印软件中添加自定义纸张大小。具体设置请参见:Java 读取打印机自定义纸张。
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉