天天看點

列印系統開發(42)——靜默列印

1. 問題描述

希望每次列印時,都是用固定的列印機列印并且不希望彈出對話框進行設定,此時便可以設定靜默列印。

1.1 什麼是靜默列印

靜默列印即點選列印時不彈出選項視窗和列印機設定視窗直接進行列印。

1.2 支援靜默列印的列印方式

零用戶端列印、本地列印、伺服器端列印支援靜默列印。

2. 靜默列印設定方法

2.1 零用戶端列印設定方法

注:隻支援 IE

點選模闆-列印設定-為該模闆單獨設定-零用戶端列印,不勾選“列印時可設定列印邊距”,勾選“IE浏覽器中不顯示列印設定”,如下圖:

列印系統開發(42)——靜默列印

這樣在 IE 浏覽器中,點選列印按鈕即可進行靜默列印。

2.2 本地列印設定方法

通過繼承模闆中的紙張、布局和邊距設定,可在設計器中提前設定好要列印的樣式,使用者直接使用統一設定,不再彈出設定視窗,實作靜默列印。

點選模闆-列印設定-為該模闆單獨設定-本地列印,勾選“列印時需要設定列印設定視窗”,如下圖:

列印系統開發(42)——靜默列印

預覽模闆,點選按鈕列印時,勾選“儲存用戶端習慣,執行靜默列印”,如下圖:

列印系統開發(42)——靜默列印

儲存後,點選列印,列印完成後。下一次再列印的時候,即可按本次儲存的列印設定進行靜默列印。

注:在不勾選“列印時需要列印設定視窗”的情況下,預定義的預設配置設定優先于本地軟體列印的靜默列印設定

若想清除用戶端習慣,右擊“清除本地習慣”即可。

3. 靜默列印 JS 方法

3.1 零用戶端列印 JS 方法

isPopUp : false, // 是否彈出設定視窗,true 為彈出,false 為不彈出
ieQuietPrint : true,// IE靜默列印設定 true 為靜默,false 為不靜默 
var printurl="http://localhost:8075/webroot/decision/view/report";
var reportlets ="[{reportlet: 'GettingStarted.cpt', 地區: '華北'}, {reportlet: 'GettingStarted.cpt', 地區: '華東'}]";
var config = {
printUrl : printurl,
isPopUp : false, 
// 是否彈出設定視窗,true為彈出,false為不彈出
data :{ 
reportlets: reportlets // 需要列印的模闆清單
},
printType : 0, // 列印類型,0為零用戶端列印,1為本地列印
// 以下為零用戶端列印的參數,僅當 printType 為 0 時生效
ieQuietPrint : true,// IE靜默列印設定 true為靜默,false為不靜默
};
FR.doURLPrint(config);
           

3.2 本地列印 JS 方法

注:隻支援 IE

isPopUp : false, // 是否彈出設定視窗,true為彈出,false為不彈出
var printurl="http://localhost:8075/webroot/decision/view/report";
var reportlets ="[{reportlet: 'GettingStarted.cpt', 地區: '華北'}, {reportlet: 'GettingStarted.cpt', 地區: '華東'}]";
var config = {
printUrl : printurl,
isPopUp : false, 
// 是否彈出設定視窗,true為彈出,false為不彈出
data :{ 
reportlets: reportlets // 需要列印的模闆清單
},
printType : 1, // 列印類型,0為零用戶端列印,1為本地列印
// 以下為本地列印的參數,僅當 printType 為 1 時生效
printerName : 'Microsoft Print to PDF', // 列印機名
pageType: 2, // 列印頁碼類型:0:所有頁,1:目前頁,2:指定頁
pageIndex: '1-3', // 頁碼範圍。當 pageType 為 2 時有效
copy: 3, // 列印份數
};
FR.doURLPrint(config);
           

3.3 伺服器端列印 JS 方法

10.0 中,伺服器端列印隻能通過 調用。如果傳參數,則靜默列印。

例如:

// 靜默列印
window.contentPane.printReportServer({
     pageType: 2,  // 列印頁碼類型:0:所有頁,1:目前頁,2:指定頁
     pageIndex: '1-3',  // 頁碼範圍。當 pageType 為 2 時有效
     printerName: "" // 指定列印機
});
           

詳細點選 服務端列印 JS