• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            web打印(web打印控件)

            更新時間:2023-03-01 08:38:34 閱讀: 評論:0

            web 實現大量打印

            問題描述:

            在B/S項目中需要打印大量的圖片,我們使用window.print,但是當數據量大至上萬的時候,將圖片加載出來需要一些時間,加載出來之后打印,如果用戶關閉了打印界面會導致打印頁的缺失。

            解決思路:

            1.IE,使用ActiveX控件,非IE,使用Flash插件。這種思路不同的瀏覽器開發方式不一樣,IE/FF/GROME

            2.開發一個exe,客戶端安裝到本地服務,使用HTTP通訊方式。通過JS發送HTTP請求給本地的服務,本地服務起一個小型的HTTP rver接收請求,然后返回數據,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打印組件原理

            由于瀏覽器的安全沙箱機制,Web應用不能直接訪問打印機。而能直接控制打印機,實施精準打印,是很多SAAS軟件,B/S架構軟件,網站等應用的剛需。
            我們調研了大量Web/網頁類應用,發現針對Web打印解決方案,主要有如下幾種技術實現方式:

            1. 直接調用Javascript打印
            通過調用瀏覽器window對象內置的print方法,彈出打印窗口,用戶點擊確認打印。

            這是實現網頁打印的最簡單方法,但它的問題是不夠靈活,不能精準控制要打印的頁面內容,無法方便地對打印機進行設置,無法適應一些有復雜打印要求的業務場景。

            2. 瀏覽器控件打印
            通過開發瀏覽器插件的方式實現打印,例如IE瀏覽器的ActiveX控件。

            由于此種方法通用性不強,不能適配市面上的主流瀏覽器,如chrome,edge等,已被淘汰。

            3. 本地代理
            還有一種方式是在本地安裝代理程序,代理程序會啟動一個服務(通常是http服務),來接受打印請求,實施打印。

            網頁通過跨域技術,提交打印任務并接收反饋。此種方式是一種優秀的解決方案,廣泛應用于類似場景的Web應用中。

            它的優勢是適配性強,理論上適用于所有瀏覽器。此種方式需要用戶下載安裝代理程序。

            設計思路
            能加加網頁打印插件的核心理念,就是為開發人員提供簡單可靠的打印解決方案。

            經過多方技術調研與分析,我們采用的是第三種方案:本地代理方式。

            我們使用C++作為開發語言,軟件運行速度快,穩定性好,精心設計的軟件接口簡單易用。

            web打印有那幾種方法

             一、瀏覽器的打印功能菜單

            這種方案的優勢是不需要對瀏覽器作任何擴充,是最簡單的辦法,但問題也最多,如:

            不能精確分頁。瀏覽器一般是根據用戶設置的頁面大小,web頁面的內容多少,來自行決定分頁位置,程序員很難控制。會有頁腳頁眉干擾。

            不能準確對齊邊邊距及打印文字。

            不能解決連續打印。比如,不是僅打印一張票據,而是連續一次打印若干個票據。

            二、使用webbrowr控件+ 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不那么普及的中國,這種方案不是最好選擇。

            java(web)打印 通常是怎么實現的

            Web系統中,打印功能一直是個老大難問題,因此產生了很多第三方的控件,多數要收費,而且跟自己的系統結合有一定的麻煩。系統采用J2EE技術,jsp打印問題同樣存在于OA中。

            打印方式有三種:一是不經過任何修改,直接調用javascript中的window.print()打印。二根據客戶要求的報表格式,編寫相應格式的html,裝載數據打印,同樣調用window.print()打印,只是對html的格式要求比較高。三是通過客戶提供的word格式,通過xml配置文件與數據庫的數據進行關聯,自動裝載數據到word中打印,這里是利用客戶端的word進行打印。

            第一種幾乎不用編寫程序,最簡單快捷,這里會遇到幾個問題,只能打印表單內容,按鈕不希望打印出來;頁眉頁腳不想打印出來;IE的titile不想打印出來。
            解決辦法:把button放在一個table或者div里,打印的時候隱藏,完成后顯示就可以。系統中的javascript打印代碼如下:
            function Print() {
            var tit = document.title;
            document.title = "";
            table1.style.display = "none";
            window.print();
            document.title = tit;
            table1.style.display = "";
            }
            不過只能起到打印的目的,打印的效果一般比較土。不管怎么說,可以最快的讓系統的大部分模塊都有打印的功能。

            第二種方式必須根據每個報表的格式進行定制html和java程序開發,會花比較多的時間。要注意的是對html中table的樣式控制,在IE中瀏覽看起來很細的邊框,打印出來有些線條會比較粗,有些線條又會比較細,陰陽怪氣的很難看。
            在table中直接用bordercolor會讓線條顯得很粗,用bordercolorlight,bordercolordark配合使用可以顯示出秀氣的線條。
            <html>
            <head></head>
            <body>
            <table border="1" bordercolorlight="red" bordercolordark="#FFFFFF" cellpadding="3" cellspacing="0">
            <tbody>
            <tr>
            <td>姓名</td>
            <td>所屬部門</td>
            </tr>
            <tr>
            <td>陳</td>
            <td>技術部</td>
            </tr>
            </tbody>
            </table>
            </body>
            </html>
            比如以上代碼,在IE中看起來線條一樣大小,還是比較秀氣。不要高興的太早,打印出來的效果不象在IE中看到的那樣,邊框雖細,內線卻很粗!原因是每個td都有邊框,td與td的交接處就會有線條重疊,雖然IE看起來沒有,可是打印的時候就會顯示出來。
            這個問題的解決辦法是控制每一個td的樣式,對重疊的地方進行border-bottom:1px之類的控制。
            這個方案比較消耗精力,而且打印的時候很難控制分頁,更不能隨時按照客戶的需要調整字體邊框顏色等。

            第三種方案:從服務器端生成word、excel等文檔,發送到瀏覽器進行打印
            實現過程:先將需要打印的數據導入到word或者excel中,再利用word或者excel的打印功能來實現web打印。
            下面以excel為例實現如何打印的過程
            將網頁中數據導入excel中的方法有很多,這里先介紹一種,利用ActiveX控件的方式,即 Excel.Application, 這個控件是MS為excel提供的編程接口,在很多種編程語言種都可以通過該接口來操縱excel表格。
            下面用javascript腳本來實現一個簡單的例子。
            <script language = "javascript">
            function ExcelPrint() {
            var excelApp; //存放Excel對象
            var excelBook; //存放Excel工件簿文件
            var excelSheet; //存放Excel活動工作表
            try {
            excelApp = new ActiveXObject("Excel. Application"); //創建Excel對象}
            catch(e) {
            alert("請啟用ActiveX控件設置!");
            return;
            }
            excelBook = excelApp.Workbooks.Add(); //創建Excel工作簿文件
            excelSheet = excelBook.ActiveSheet; //激活Excel工作表
            var rowLen = printTable.rows.length; //table對象的行數
            for (var i = 0; i < rowLen; i++) {
            var colLen = printTable.rows(i).cells.length; //table對象的列數
            for (var j = 0; j < colLen; j++) //為Excel表的單元格賦值
            excelSheet.Cells(i + 1, j + 1).value = printTable.rows(i).cells(j).innerText;
            } //將表格中的每個單元格的innerText導入到excel的單元格中
            excelApp.Visible = true; //設置Excel對象可見
            excelSheet.PrintOut(); //打印工作表
            excelBook.Clo(true); //關閉文檔
            excelApp.Quit(); //結束excel對象
            excelApp = null; //釋放excel對象
            }
            }

            </script>
            注意:
            運行該程序的前提是 IE要允許對沒有標記為安全的Activex控件進行初始化和腳本運行。設置方法如下:
            打開控制面板→Internet選項→安全性→自定義級別→對沒有標記為安全的ActiveX控件進行初始化和腳本運行→選中啟用,這樣我們的程序就可以運行了。如果沒有啟用該ActiveX控件設置,那么程序在執行創建Excel對象時會拋出一個異常,這時可以通過catch()語句來捕獲這個異常,并且做出相應的處理。
            運行該程序必須客戶端安裝了MS EXCEL,否則Activex驅動不了。

            用web打印時 只顯示網址不顯示時間 頁面設置中怎么設置

            1、在需要打印的網頁空白位置點擊右鍵,在彈出菜單中選擇“打印”菜單項。

            2、這時會彈出打印設置頁面,點擊下面的“更多設置”快捷鏈接。

            3、在彈出的頁面設置中找到“選項”設置一項,取消“頁眉和頁腳”前面的勾選即可。這樣打印的紙上就不會出現網址與頁碼了。

            4、IE瀏覽器可以先在標題欄的空白位置點擊右鍵,在彈出菜單中選中“菜單欄”菜單項。

            5、接著點擊文件菜單,在彈出的下拉菜單中點擊“頁面設置”菜單項。

            6、在打開的頁面設置窗口,把頁眉與頁腳兩項都設置為“空”,最后點擊確定按鈕。這樣在打印的紙上就不會出現網址與頁碼了。


            web網站怎樣實現打印功能

            WEB軟件打印功能實現方式:
            1、瀏覽器本身的打印功能,效果最差。
            2、在web服務器上產生好PDF或Excel文件,下載到本地打印。很多在服務器端運行的報表軟件采用這樣的方式。因為就是下載文件,所以各種瀏覽器都支持。缺點就用戶操作麻煩,服務器附載大。
            3、報表插件方式,可以做到與桌面軟件一樣的打印功能,這種方式實現的效果最好。缺點就是插件是針對特定瀏覽器的,不能做到支持各種瀏覽器,報表插件一般是支持IE瀏覽器。
            綜合考慮,看用哪種方式合適。

            我們一直用銳浪報表插件,報表與打印都很滿意。

            本文發布于:2023-02-28 19:44:00,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/167763111467200.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:web打印(web打印控件).doc

            本文 PDF 下載地址:web打印(web打印控件).pdf

            標簽:控件   web
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 四虎永久播放地址免费| 精品亚洲香蕉久久综合网| 国产一区二区牛影视| 亚洲制服无码一区二区三区| 日韩精品一区二区三区中文无码| 国产精品成人国产乱| 97色成人综合网站| 桃花岛亚洲成在人线AV| 日韩有码中文字幕国产| 亚洲视频高清| 日韩成人福利视频在线观看| 男女啪啪18禁无遮挡激烈| 久久国产精品久久国产精品| 日本中文一区二区三区亚洲| 内射一区二区三区四区| 亚洲国产综合自在线另类| 欧洲欧美人成免费全部视频| 99久久无色码中文字幕| 国产精品先锋资源站先锋影院| 国产无遮挡猛进猛出免费软件| 久久国产精品夜色| 日本精品不卡一二三区| 99riav精品免费视频观看| 欧美激烈精交gif动态图| 亚洲av永久无码精品漫画| 香港特级三A毛片免费观看| 免费区欧美一级猛片| 亚洲理论电影在线观看| 亚洲国产欧美在线看片一国产| 偷拍精品一区二区三区| 老熟妇国产一区二区三区| 2022国产男人亚洲欧美天堂| 无码av永久免费大全| 美女一区二区三区在线观看视频| 免费又爽又大又高潮视频| 欧美成人精品 一区二区三区| 国产精品白丝久久AV网站| 人妻熟妇乱又伦精品无码专区| 福利在线视频一区二区| 欧洲一区二区中文字幕| 四虎国产精品永久在线下载|