網頁列印和ActiveX控制項列印

2021-10-01 06:59:44 字數 1619 閱讀 8362

瀏覽器網頁列印

1. 前言

客戶對於一些外掛程式比較敏感,如金融、銀行等出於安全的考慮和產品的把控,可能不願意頁面列印的時候,客戶端瀏覽器安裝外掛程式。(當然,使用者有各種各樣的需求和列印格式要求,願意使用列印控制項的,開發的列印功能當然很好。)

所以直接使用瀏覽器自帶的列印功能,就成為乙個選擇。

2. 列印功能介紹

2.1 普通列印

如果要將當前網頁的內容直接列印到白紙上,很簡單,使用如下js**即可實現。

window.print();

2.2 列印指定區域

2.2.1 簡單列印某一區域

如果只需要簡單列印當前網頁的某一塊內容,不難實現。先使要列印的那一塊獲得焦點,然後列印即可,**如下:

document.getelementbyid('要列印的區域id').focus();

window.print();

2.2.2使用css控制某一部分不列印

當然,使用css來控制某一區域不列印,也是很方便的。

**如下(紅色部分是關鍵)。該樣式,在瀏覽的時候可以正常顯示,只是列印的時候不列印class為noprint的元素。

2.3套打

如果使用者已經有列印**,只需要你列印資料內容上去,就是所謂的套打。

你當然可以設計乙個只有要列印的資料項的**,然後通過css來控制元素的位置和字型等格式。也可以結合 2.2.2 的描述將不需要列印的部分隱藏,這樣更便於你的列印預覽除錯。

2.4 iframe列印

如果你的列印格式比較複雜,在現有頁面通過上邊介紹的方式實現起來比較麻煩,那就乾脆使用iframe列印吧。那樣你只需要提前畫好乙個頁面,在要列印的時候使用js將內容或者模板頁面路徑傳給iframe即可。

**如下:

window.frames[『printfrm』].location.href = 「頁面路徑」;

settimeout(「printaction()」,「1000」);//為防止頁面未載入完就列印,延遲一秒

function printaction()

如果不希望iframe被看到,就像下邊這樣,將高度設定為0吧

當然,如果需要自己來控制頁邊距、頁首、頁尾等,可以先按 1.6 中描述方式進行設定。

web列印如何設定預設為"僅選定列印框架"?

function printaction()

2.5 修改瀏覽器列印設定

在列印的時候,你可能希望由自己來控制頁邊距、頁首、頁尾等。可以按如下方式,在列印前進行相應的設定(注:由於使用了activexobject,需要進行相應的瀏覽器安全設定,將瀏覽器安全設定中有關「activex控制項和外掛程式」下的相關限制放開,當然,這樣做不是很安全。可以將系統訪問位址設定為「受信任的站點」,在「受信任的站點」的自定義級別中放開相應限制,這就比較妥當了。)。

function setprint()catch(e)

}activex 控制項件列印

如果控制項無法彈出生效,可能是ie的安全策略的問題。

可以修改ie的activex 的安全項

或者如下**寫到程式中。

trycatch(e)

用delphi開發activex列印控制項

做web最不好弄的就是列印了,用ie自帶的列印功能不太完美,功能也不強,所以我就將fastreport 4.3報表整合到web中,實現的方法 delphi7的activex fastreport,下面就是實現的操作步驟 第 一 建立active form 第一步完成後,會產生form和tlb的檔案及...

用delphi開發activex列印控制項

做web最不好弄的就是列印了,用ie自帶的列印功能不太完美,功能也不強,所以我就將fastreport 4.3報表整合到web中,實現的方法 delphi7的activex fastreport,下面就是實現的操作步驟 第 一 建立active form 第一步完成後,會產生form和tlb的檔案及...

用delphi開發activex列印控制項

做web最不好弄的就是列印了,用ie自帶的列印功能不太完美,功能也不強,所以我就將fastreport 4.3報表整合到web中,實現的方法 delphi7的activex fastreport,下面就是實現的操作步驟 第 一 建立active form 第一步完成後,會產生form和tlb的檔案及...