當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

打印

1. 概述

1.1 應用場景

FineReport 8.0 和 9.0 自帶 PDF 打印、Flash 打印和 Applet 打印方式,且配套一個本地軟件打印的插件,以覆蓋各種場景和滿足客戶的特殊需求。

過多的打印方式對用戶的選擇造成了一定的困擾,且随着 Web 協議框架和技術的完善,有些打印方式漸漸被淘汰,部分浏覽器對老打印方式的支持也越來越差。

爲了提升用戶的體驗、簡化打印的場景,FineReport 10.0 對打印功能進行了升級,将各種打印方式整合到一起,形成一個統一的打印入口,讓客戶的選擇變得更加簡單清晰。

注1:10.0 設計器和部署包使用的都是 openjdk,而使用 openjdk 無法啓動 flash 打印,但使用 Oracle/sun jdk 可以。

注2:flash 打印目前是已經被淘汰了的技術,很多浏覽器都将不再支持 flash 打印,建議客戶使用零客戶端或本地打印。

222

1.2 功能簡介

新打印有以下特點:

  • 易用性強:易於設置,可預先進行頁面設置傳遞至打印機,并可以保存用戶打印習慣,無需複雜設置,一鍵打印。同時對於市面上幾乎所有類型打印機都能很好的支持。針式、 熱敏打印機打印是容易出現打印不清晰、打印效果不好的問題都能通過本地軟件打印得到解決。

  • 功能豐富:提供套打、批量打印、打印内容控制、打印偏移、靜默打印等豐富的功能。

  • 性能強大:相同環境下,零客戶端打印耗時不到同類競品的一半,本地軟件打印耗時不到同類競品的 1/3。

2. 打印功能

新打印支持兩種打印方式:

  • 零客戶端打印:無需安裝打印軟件,任何機器上随時都能打印,适合更偏向打印便捷性的客戶。

  • 本地軟件打印:需要安裝打印軟件,适合固定機器進行大量打印的客戶,有更高的效率和更豐富的設置,不受浏覽器約束。

功能
簡介零客戶端打印本地軟件打印相關文檔
首選打印機支持報表綁定打印機,打印報表時優先選擇綁定的打印機進行打印,免去了用戶每次都要選擇打印機的麻煩不支持支持-
打印偏移增加頁面邊距設置,可以調整打印内容的邊距來進行打印偏移,以适應不同打印機的打印效果不同的問題支持
打印偏移
靜默打印打印繼承模板中的紙張、布局和邊距設置,可在設計器中提前設置好要打印的樣式,用戶直接使用統一設置,不再彈出設置窗口

IE 下支持 

其他不支持

支持靜默打印
打印内容控制可在設計器中通過對内容進行設置,實現内容是否打印支持打印單元格
套打支持發票、貨運單等内容的套打支持套打
批量打印支持對單張模板多個參數值進行批量打印支持批量打印
服務器端打印提供了易調用的 JS 接口,直接調用服務器連接的打印機,可解決本地PC沒有連接打印機無法打印的問題支持服務器端打印
Https 下的打印在 https 環境下使用 FineReport10.0,支持使用本地打印功能支持本地打印 https 配置說明
跨域打印-

不支持 https 訪問 http

支持 http 訪問 http

支持 http 訪問 https

支持 https 訪問 https

-

3. 打印設置

3.1 設置方法

3.1.1 服務器配置

點擊「服務器>服務器配置>打印設置」,可設置打印方式,對所有模板生效,如下圖所示:

1609394344202417.png

3.1.2 模板配置

點擊「模板>打印設置」,默認爲「采用服務器設置」,可選擇「爲該模板單獨設置」,則只對當前模板有效,如下圖所示:

1609394619874735.png

3.2 零客戶端打印

零客戶端打印設置内容如下圖所示:

1589340448103308.png

各項設置的定義如下表所示:

設置
定義
打印時可設置打印邊距勾選彈框對打印邊距進行設置
不勾選直接使用默認設置中的打印邊距
IE 浏覽器中不顯示打印設置勾選IE 浏覽器使用靜默打印功能
不勾選IE 浏覽器中顯示打印設置
針式打印優化勾選打印時,将文字字體替換爲黑體以優化打印效果
不勾選打印實際的文字字體
繼承頁面邊距設置勾選繼承頁面邊距設置
不勾選自定義設置上下左右的邊距

3.3 本地軟件打印

3.3.1 軟件安裝

選擇本地軟件打印,需在服務器端安裝 FinePrint 軟件。點擊下載FinePrint V5 版本:FinePrint 。

用戶可在「服務器配置>打印設置」中設置軟件下載地址,如下圖所示:

1609398600540360.png

設置的定義如下表所示:

設置
定義
軟件下載地址勾選「默認」打印軟件的下載地址爲默認地址(FineReport 提供的下載地址)
不勾選「默認」

可以自定義下載地址,當客戶使用的是内網時,可以設置内網地址來下載

例如在軟件下載地址裏填相對路徑 /webroot/FinePrint_Windows_5_0.exe ,可以将下載的 FinePrint 軟件放在報表路徑 webroot 下

打印軟件端口号

IE 浏覽器使用靜默打印功能

注:遠程設計修改打印端口後,需要重啓工程才可生效

3.3.2 基礎設置

本地軟件打印基礎設置内容如下圖所示:

1589342315146751.png

設置的定義如下表所示:

設置定義
打印時需要打印設置窗口勾選彈框對打印屬性進行設置
不勾選繼承模板中的紙張、布局和邊距設置,可在設計器中提前設置好要打印的樣式,用戶直接使用統一設置,不再彈出設置窗口,實現靜默打印
打印時需要指定 sheet

默認不勾選。

勾選後,打印時,點擊打印按鈕彈出如下彈窗,默認選中所有 sheet,如下圖所示:

222

注:分頁預覽下不支持

打印機支持報表綁定打印機,自動獲取本地可用的打印機,無可用打印機時,顯示爲空
份數打印的份數,默認爲 1 份
頁碼

默認打印「所有頁」

勾選「指定頁」時,在後面文本框中輸入符合格式要求的數值

勾選「雙面打印」,可以設置打印「奇數頁」或者打印「偶數頁」

紙張勾選繼承頁面紙張設置
不勾選在下拉框中設置需要打印的紙張大小。
布局勾選繼承頁面布局設置
不勾選自定義設置頁面是縱向還是橫向打印,默認爲縱向
邊距勾選繼承頁面邊距設置
不勾選自定義設置頁面的上下左右邊距
縮放勾選根據紙張大小縮放打印
不勾選自定義縮放的比例

4. 打印按鈕

點擊「模板>模板 Web 屬性」,根據模板類型選擇「分頁預覽設置、填報頁面設置、數據分析設置」,設置「爲該模板單獨設置」,雙擊打印按鈕,在工具欄中新增打印按鈕,如下圖所示:

1609399737841178.png

注1:老的打印按鈕,顯示爲「打印(兼容)」。

注2:版本升級後,老的打印按鈕無法添加到工具欄上進行使用,若想使用老的打印方法,可以通過在工具欄中添加自定義按鈕調用接口的方法實現。接口詳情請參見:JS 調用 FR 打印方法

5. 打印權限

JAR 包時間在 2020-04-26 及之後的 FineReport,新增打印鑒權機制,打印權限受 模板認證 權限控制。

打印鑒權機制适用於「本地打印、零客戶端」打印和兼容的多個打印方式( PDF 打印、Flash 打印),服務器端打印不受限制。

注:跨域情況下打印,模板認證控制打印權限功能需要做單點登錄,否則無法支持模板認證。

5.1 打印鑒權機制

情況
打印權限提示
模板認證關閉「任何用戶」可打印任何模板-

模板認證開啓

模板無需認證

模板認證開啓

僅認證用戶密碼

「登錄用戶」可以打印任何模板

未登錄用戶打印時提示:請登錄後進行打印

模板認證開啓

角色權限認證

「登錄用戶」可以打印「有權限」的模板

登錄用戶打印無權限模板時提示:此用戶無權限打印該模板

未登錄用戶打印時右上角提示:請登錄後進行打印

模板認證開啓

數字簽名認證

「通過數字簽名認證」的用戶可以打印「有權限」的模板

通過數字簽名認證的用戶打印無權限模板時提示:此用戶無權限打印該模板

未通過數字簽名認證的用戶打印時提示:此用戶無權限打印該模板

5.2 跨域打印鑒權

跨域打印時,需要點擊「服務器>報表平台管理」登錄數據決策系統,再點擊「管理系統>安全管理>安全防護」,點擊 Security Headers 的「高級管理」,關閉「點擊劫持攻擊防護」和「内容嗅探攻擊防護」。如下圖所示:

1609402534817799.png

6. 注意事項

6.1 打印軟件不生效

6.1.1 問題描述

升級至 2020-04-26 之後的 JAR 包,打印軟件不生效。

6.1.2 原因分析

一般是由於打印軟件版本過低,使用文檔中 3.3.1 節提供的 FinePrint  V5 版本即可。

6.2 本地打印軟件啓動失敗

6.2.1 問題描述

選擇「本地軟件打印」時,提示本地打印軟件啓動失敗,如下圖所示:

222

6.2.2 解決方案

點擊提示中的「下載安裝」,下載并啓動本地打印軟件。并注意以下幾點:

1)本地打印不要安裝在設計器的安裝目錄下。

2)若已安裝好本地打印軟件,提示啓動失敗,請檢查 9092 端口是否被占用。

3)若機器性能較差,會導緻首次啓動消耗時間較長。出現以上報錯時請耐心等待,或稍後再次嘗試打印。

6.3 浏覽器不兼容

6.3.1 問題描述

目前浏覽器打印預覽不兼容 IE10 及以下版本,不兼容時打印預覽右側 iframe 提示「此浏覽器暫不支持打印預覽」,如下圖所示:

注:IE11 有些小版本可能不兼容,更換浏覽器即可。

222

6.3.2 解決方案

在 IE 浏覽器下進行打印時,需要啓用管理加載項中的 Adobe PDF Reader 控件,否則提示「安裝警告」或打印出來的文件名默認 ReportSerber,如下圖所示:

222

6.4 報錯 404

6.4.1 問題描述

Tomcat 上調用 FR 工程的本地打印,如果 Tomcat 上無 FR 工程,下面這個請求報錯 404,如下圖所示:

注:該問題在 Finereport 10.0 和 Finereport 9.0 中都會出現。

222

6.4.2 原因分析

執行 FineReport.js 的時候,會嘗試從本服務器上加載資源,而調用者的服務器上,沒有報表工程,加載不到資源,所以報錯。 

6.4.3 解決方案

在跨域調用新打印時,需要額外引入兩個 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>

6.5 自定義紙張打印不全

6.5.1 問題描述

當「模板>頁面設置」中紙張大小爲「自定義」時,本地軟件打印的内容可能會顯示不全。

1609405660194428.png

6.5.2 原因分析

因爲 Java 默認的打印,會從打印機紙張裏尋找相近的紙張進行匹配。如果沒有在打印軟件中添加自定義紙張,可能找出來的是别的紙張。從而導緻打印内容被截斷。

6.5.3 解決方案

需要在打印軟件中添加自定義紙張大小。具體設置請參見:Java 讀取打印機自定義紙張

附件列表


主題: 原簡體文檔
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s後關閉

反饋已提交

網絡繁忙