finereport的js列印,js呼叫列印_…
阿新 • • 發佈:2019-01-01
轉自:http://help.finereport.com/doc-view-1087.html
目錄:
1. 問題描述編輯
FR工具欄中雖然有列印按鈕,但是位置與樣式比較死,只能固定在報表上方或下方的工具欄中,不靈活。 使用者系統已經自己定義了一套工具欄按鈕,頁面中只需要嵌入報表內容,不使用FR的工具欄,如果需要列印報表,點選自定義的按鈕,呼叫FR的列印方法進行列印,如下圖:2. 解決方案編輯
對於這種列印iframe中嵌入的報表情況,點選“列印”按鈕時,先通過js獲取到報表所在iframe,進而獲得iframe中的window物件,最後呼叫列印事件,打印出當前iframe中的報表內容。 該方法不管iframe中的報表與當前系統是否是同一個應用,都可以使用,而且不用額外引入finereport.js,避免了js跨域問題。3. 實現步驟編輯
如報表嵌入在id為reportFrame的iframe中,則點選“列印”按鈕觸發的事件js如下:- "text/javascript">
- function doFRPrint(){ //點選列印按鈕時觸發
- document.getElementByIdx_x('reportFrame').contentWindow.contentPane.pdfPrint();
- //flash列印:.contentWindow.contentPane.flashPrint();
-
//applet列印:.contentWindow.contentPane.appletPrint();
- //伺服器端列印:.contentWindow.contentPane.printReportServer();
- }