❶ web列印組件原理
由於瀏覽器的安全沙箱機制,Web應用不能直接訪問列印機。而能直接控制列印機,實施精準列印,是很多SAAS軟體,B/S架構軟體,網站等應用的剛需。
我們調研了大量Web/網頁類應用,發現針對Web列印解決方案,主要有如下幾種技術實現方式:
1. 直接調用Javascript列印
通過調用瀏覽器window對象內置的print方法,彈出列印窗口,用戶點擊確認列印。
這是實現網頁列印的最簡單方法,但它的問題是不夠靈活,不能精準控制要列印的頁面內容,無法方便地對列印機進行設置,無法適應一些有復雜列印要求的業務場景。
2. 瀏覽器控制項列印
通過開發瀏覽器插件的方式實現列印,例如IE瀏覽器的ActiveX控制項。
由於此種方法通用性不強,不能適配市面上的主流瀏覽器,如chrome,edge等,已被淘汰。
3. 本地代理
還有一種方式是在本地安裝代理程序,代理程序會啟動一個服務(通常是http服務),來接受列印請求,實施列印。
網頁通過跨域技術,提交列印任務並接收反饋。此種方式是一種優秀的解決方案,廣泛應用於類似場景的Web應用中。
它的優勢是適配性強,理論上適用於所有瀏覽器。此種方式需要用戶下載安裝代理程序。
設計思路
能加加網頁列印插件的核心理念,就是為開發人員提供簡單可靠的列印解決方案。
經過多方技術調研與分析,我們採用的是第三種方案:本地代理方式。
我們使用C++作為開發語言,軟體運行速度快,穩定性好,精心設計的軟體介面簡單易用。
❷ web網站怎樣實現列印功能
直接調用系統自帶的WebBrowser控制項就可以了。
增加代碼如下:
<OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"
VIEWASTEXT>
</OBJECT>
<input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接列印">
<input onclick="document.all.WebBrowser.ExecWB(7,1)" type="button" value="列印預覽">
❸ web 實現大量列印
問題描述:
在B/S項目中需要列印大量的圖片,我們使用window.print,但是當數據量大至上萬的時候,將圖片載入出來需要一些時間,載入出來之後列印,如果用戶關閉了列印界面會導致列印頁的缺失。
解決思路:
1.IE,使用ActiveX控制項,非IE,使用Flash插件。這種思路不同的瀏覽器開發方式不一樣,IE/FF/GROME
2.開發一個exe,客戶端安裝到本地服務,使用HTTP通訊方式。通過JS發送HTTP請求給本地的服務,本地服務起一個小型的HTTP server接收請求,然後返回數據,JS解析,顯示在UI上。比如將列印的參數傳值到本地服務,本地服務去調用列印機,使瀏覽器資源得到釋放。
我們使用第二種思路。
嘗試了以下方法:
1.HttpPrinter
採用原因 免費 ,OME費用很便宜的,而且不限制時間和數量.還可以購買源碼的。
HttpPrinter.com
2.葡萄城的ActiveReports
中有B / s端的列印使用window.print實現
https://demo.grapecity.com.cn/ActiveReports/ASPNET/ControlExplorer/Viewers/Default.aspx?category=1001&action=14
另外有C / S端的列印,無法與瀏覽器交互,但是可以去改進
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=48785&extra=page%3D1
3. Lodop分為收費版與免費版
(1)使用Lodop插件,需要客戶端安裝一個服務,服務的埠默認是8000或18000
(2)如何購買和使用列印控制項的Lodop的注冊號
http://blog.sina.com.cn/s/blog_721e77e50100nfzs.html
(3)Lodop樣例演示
http://www.lodop.net/LodopDemo.html
考量問題:
(1)免費版有水印
4. JCP分為收費版與免費版
安裝程序需要替換
網官 http://printfree.jatools.com/
考量問題:
免費版只適合於IE瀏覽器
圖片需要渲染到頁面,列印時釋放瀏覽器資源可以做其他操作
收費版jatoolsPrint支持大部分瀏覽器
5.jquery列印
底層是window.print方法
最後考量,我們決定將的ActiveReports中的C / S端程序打包成EXE,利用自定義協議實現打開本地exe服務,使用HTTP方式實現瀏覽器與本地服務的通訊。
❹ 什麼是WEB瀏覽器插件
插件是指會隨著IE瀏覽器的啟動自動執行的程序,根據插件在瀏覽器中的載入位置,可以分為工具條(Toolbar)、瀏覽器輔助(BHO)、搜索掛接(URL SEARCHHOOK)、下載ActiveX(ACTIVEX)。
因為插件由不同的發行商進行插件開發發行,其技術水平也良莠不齊,插件程序很可能與其它運行中的程序發生沖突,從而導致諸如各種頁面錯誤,運行時間錯誤等等現象,阻塞了正常瀏覽。
IE瀏覽器常見的插件例如:Flash插件、RealPlayer插件、MMS插件、MIDI五線譜插件、ActiveX插件等等;再比如Winamp的DFX,也是插件。還有很多程序員都進行新插件開發。
1.什麼是插件?
插件是指會隨著IE瀏覽器的啟動自動執行的程序。
2.插件會從什麼位置載入到IE瀏覽器中?
根據插件在瀏覽器中的載入位置,可以分為工具條(Toolbar)、瀏覽器輔助(BHO)、搜索掛接(URL SEARCHHOOK)、下載ActiveX(ACTIVEX)。
3.惡意插件有什麼特徵?
有些插件程序能夠幫助用戶更方便瀏覽網際網路或調用上網輔助功能,也有部分程序被人稱為廣告軟體(Adware)或間諜軟體(Spyware)。此類惡意插件程序監視用戶的上網行為,並把所記錄的數據報告給插件程序的創建者,以達到投放廣告,盜取游戲或銀行帳號密碼等非法目的.
組件和插件的區別是,插件是屬於程序介面的程序,組件在ASP中就是控制項、對象,ASP/IIS的標准安裝提供了11個可安裝組件。ASP的FSO組件,插件開發編程的朋友都如雷貫耳吧,它就是最常用的Scripting.FileSystemObject對象。 插件是一種遵循一定規范的應用程序介面編寫出來的程序。很多軟體都有插件,插件有無數種。例如在IE中,安裝相關的插件後,WEB瀏覽器能夠直接調用插件程序,用於處理特定類型的文件。
❺ web列印有那幾種方法
一、瀏覽器的列印功能菜單
這種方案的優勢是不需要對瀏覽器作任何擴充,是最簡單的辦法,但問題也最多,如:
不能精確分頁。瀏覽器一般是根據用戶設置的頁面大小,web頁面的內容多少,來自行決定分頁位置,程序員很難控制。會有頁腳頁眉干擾。
不能准確對齊邊邊距及列印文字。
不能解決連續列印。比如,不是僅列印一張票據,而是連續一次列印若干個票據。
二、使用webbrowser控制項+ javascript
這實際上,是瀏覽器列印功能菜單的一種程序調用,與列印功能菜單沒什麼兩樣。分頁的問題仍然存在,只不過,可以讓用戶不用去點菜單,直接在網頁中的一個按鈕,或一個鏈接裡面調用罷了。
三 、使用print css
這是一種最理想的實現web套打的方法。這種方法通過在html文檔中,嵌入列印相關的css樣式,來實現對html文檔輸出列印的控制,比 如設置紙張大小,紙張縱橫方向,列印邊距,分頁等。顯而易見,這種方式成本小,不需要下載任何插件,而且跨平台性非常好。print css推出已經有些時日,但遺憾的是,至今沒有一個廠商的瀏覽器很好地實現了這些標准,這使得程序員目前還不能利用print css進行實際的開發。關於列印css,參見http://css-discuss.incutio.com /?page=PrintStylesheets
四 、使用PDF文件
用這種方式,就是從伺服器端下載一個pdf文件流,在IE中用adobe插件打開,然後用adobe的列印菜單進行列印,雖然這種方案,也能 實現精確套打,但需要下載adobe插件。這是國外報表工具經常推薦的一種列印方法,但在pdf不那麼普及的中國,這種方案不是最好選擇。
❻ 請問哪位知道 能實現 「續打」 的Web列印插件嗎就是接著以前列印出來的紙上繼續接著列印新增加的內容。
那必須直接向列印機發列印內容而不是通過web列印,該控制項要單做。
❼ 什麼是Web列印,最好說個定義,還有是怎樣實現的,請說的詳細一點,謝!!
就是網頁列印IE
我們知道要實現Web方式的列印不外乎三種方法:第一就是利用大家都熟悉的Office工具來實現Web列印,如利用Word或Excel的列印工具來實現Web列印,該方法的難點是怎樣把數據從網頁中導入Word或Excel中;第二就是利用IE瀏覽器自帶的列印控制項來實現Web列印,該方法的難點是怎樣在程序中控制瀏覽器列印控制項中的各項設置;第三就是利用第三方的控制項或報表軟體來實現Web列印,該方法的難點在於大多數的報表軟體都是有償使用的,因此不得不從經濟的角度來考慮了。對於第三種方法,這一類的控制項有FileSystemObject組件、ScriptX.cab控制項等,這一類的報表軟體有如意報表、用友公司的Cell插件、《靚妹》全動態Web報表等。這里對它們的用法就不作說明了,只要參照其提供的說明書就能夠駕馭它們。以下筆者將重點講述前兩種方法。
利用Office工具實現列印
http://blog.csdn.net/xwchen/archive/2007/05/31/1633103.aspx