拋開IE,實現我們自己的列印模板

2021-04-13 12:45:57 字數 1021 閱讀 7163

從ie5.5開始,你可以定製webbrowser控制項和ie如何列印和預覽文件。列印和預覽的機制有列印模板控制,這是一些html檔案,他們可以由開發人員可以使用由列印模板行為暴露的物件模型來生成。msdn上說,如果列印模板是html檔案的時候,定製的列印模板只能由c++語言從發布或攔截idm_print/idm_printpreview命令的程式或控制項中使用(列印模板的路徑由iolecommandtarget::exec的pvain引數指定)。但實際上,delphi、c#語言也是可以的,我已經做過測試了。至於vb可不可以,我沒有試驗過,不敢肯定。預設情況下,ie使用自己的列印模板,就是說,如果iolecommandtarget::exec的pvain引數為null的時候,ie就會呼叫自己的列印模板進行列印。

我們可以用列印模板做一些什麼事情呢?

1、 控制列印和預覽時頁面的版面,列印以及預覽的內容;

2、 控制列印任務如何被處理,例如以何種順序列印頁面;

3、 控制列印預覽視窗的外觀,在列印使用者介面上放置定製的控制項。

有了列印模板,我們可以加入一些非常酷的功能,例如加入公司的logo,法律宣告,廣告;定製頁首頁尾的位置和樣式;安排列印計畫進行定時列印,如此等等。

乙個列印模板其實就是乙個標準的html檔案,與其他的html檔案不同的是,他有4個宣告模板的基本元素:layoutrect,devicerect,templateprinter和headerfooter。下面講解一下這4個模板元素的作用:

layoutrect:為列印和預覽模板中的文件內容生成容器.

devicerect:為layoutrect元素和列印模板中的其他內容提供乙個容器。位於devicerect之外的內容都不會被列印。

templateprinter:提供乙個列印模板以獲取頁面設定和列印設定,並且可以控制從列印模板初始化出來的列印作業。

headerfooter:提供乙個工具以便列印模板可以把頁首和頁尾的格式化字串轉換為格式化的html文字。 

我們並非自己的主人

我們的大腦決定了行動,而我們的心智僅僅是緊隨其後的影子。班傑明.裡貝特,神經心理學教授,在1983年發表的 令科學界與哲學界譁然。假設班傑明所說的都是真的,那麼我們會悲哀的發現 我們僅僅是大腦生理活動的傀儡。大腦完成的工作僅僅是機械的生理反應的產物,也就是說我們的所有行動只取決於我們大腦的構成與大腦...

8 29 我們自己的世界

給乙個大小為 n 的陣列 a 每次對陣列進行如下的變換 這裡的 oplus 運算指異或 我們會發現每次陣列 a 的長度會減一,當陣列 a 的長度減至一時,結束變換 如果我們把每次變換後的 a 陣列的第一項儲存下來,記為 a 0 1 a 1 1 a 1 求 oplus sum a i 1 times ...

利用IE自帶的WebBrowser進行列印

一般情況下,如果不是特別的列印,需要借助列印控制項,如loopod webbrowse是乙個簡單的瀏覽器程式,支援列印,後退,前進,重新整理,另存為,儲存等功能,可以到網上搜一下方法,在這裡,我們來說下,怎麼使用它列印 首先,就像例項化物件一樣,建立它,在標籤中加入 object id webbro...