Java的云打印Lodop
Lodop是一款專業(yè)的WEB打印控件,其設(shè)計(jì)目標(biāo)是簡(jiǎn)單易用、功能足夠強(qiáng)大,開(kāi)創(chuàng)WEB打印開(kāi)發(fā)的新局面。
Lodop設(shè)計(jì)者對(duì)WEB下的打印開(kāi)發(fā)任務(wù)進(jìn)行了分類匯總,高度抽象,設(shè)計(jì)出僅用幾個(gè)功能函數(shù),就可實(shí)現(xiàn)復(fù)雜的打印任務(wù),盡量減少使用者的知識(shí)累贅??丶l(fā)布包有3個(gè)系統(tǒng)文件組成,全部功能用幾個(gè)控件參數(shù)和2組功能函數(shù)來(lái)實(shí)現(xiàn)。
打印某一個(gè)網(wǎng)頁(yè)上的內(nèi)容我們都經(jīng)常遇到過(guò),比如網(wǎng)上申請(qǐng)港澳通行證時(shí)需要填寫(xiě)申請(qǐng)表,然后把申請(qǐng)表給打印出來(lái)。像這樣的打印技術(shù)是怎么實(shí)現(xiàn)?這種打印可以通過(guò)一種叫云打印的插件來(lái)做,按我的理解云打印的技術(shù)把需要打印的內(nèi)容上傳到“云”服務(wù)器,然后經(jīng)過(guò)服務(wù)器傳輸?shù)酱蛴C(jī)中。
平時(shí)我們上網(wǎng)的時(shí)候可以直接在某個(gè)網(wǎng)頁(yè)上點(diǎn)擊打印,這種打印叫做網(wǎng)絡(luò)打印,是將數(shù)據(jù)存放在打印設(shè)備或打印機(jī)內(nèi)置的存儲(chǔ)設(shè)備上,而云打印是將數(shù)據(jù)存放到“云”端。
打印技術(shù)在很多開(kāi)發(fā)項(xiàng)目中都會(huì)用到,我們項(xiàng)目組已經(jīng)開(kāi)發(fā)完的一個(gè)塘廈項(xiàng)目中就用到了打印技術(shù),打印實(shí)現(xiàn)需要在eclipse中加入已經(jīng)下載好的打印文件。
接下來(lái)是整個(gè)打印實(shí)現(xiàn)的過(guò)程:
(1)準(zhǔn)備材料
在Java編譯器eclipse中,把上面下載好的這個(gè)文件放到對(duì)應(yīng)的文件夾中,放哪都行,只要引用的時(shí)候路徑引用對(duì)就行。
.exe文件是在客戶端需要安裝的一些插件,看瀏覽器(客戶端)是多少位的就按照哪個(gè)。
這個(gè)打印只和前端有關(guān),后臺(tái)代碼不需要做什么。

(2)需求要實(shí)現(xiàn)的效果
點(diǎn)擊打印后這個(gè)頁(yè)面的傳到打印頁(yè)面,預(yù)覽后打印出A4紙。

(3)在代碼里面實(shí)現(xiàn)
首先要print.html頁(yè)面引用打印的JS文件
<!-- 打印插件 --> <script src="/js/Lodop/LodopFuncs.js" type="text/javascript"></script> <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0> <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0></embed> </object>
這是打印的html頁(yè)面
<form action="offcomplete/print" method="post">
<input type="hidden" id="id" name="offBatchfile.id"
value="${offBatchfile.id!}" />
<%if(off.display_Name == null){%>
<div class="print_btn_box">
<a href="#" onclick="PrintURL()" class="btn btn-default"><i class="fa fa-print"></i>打印</a>
<a href="/offcomplete/export/${printUsefullId!}" class="btn btn-default"><i class="fa fa-file-word-o"></i>下載</a>
</div>
<%}%>
<div align="center" id="print">
<% include("/offcomplete/view.html"){}%>
</div>
</form>
然后給打印按鈕一個(gè) click 事件
<script type="text/javascript">
//打印注冊(cè)
function PrintURL() {
try {
var LODOP = getLodop(document.getElementById('LODOP_OB'), document
.getElementById('LODOP_EM'));
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_STYLE("FontSize", 18);
LODOP.SET_PRINT_STYLE("Bold", 1);
LODOP.ADD_PRINT_HTM(45, 55, 770, 1004, document
.getElementById("print").innerHTML);
LODOP.PREVIEW();
} catch (e) {
}
}
</script>
如果這些步驟都做完了就可以實(shí)現(xiàn)打印了,在客戶端打印的時(shí)候可能會(huì)遇到一些問(wèn)題(IE瀏覽器不會(huì)出現(xiàn)),比如要提示這樣的安裝信息。那就說(shuō)明沒(méi)有安裝 install_lodop 安裝前最好看一下電腦的操作系統(tǒng)和所用的瀏覽器是多少位的,分為32位和64位,選擇安裝。

希望我的分享能留有余香,我建議不管做什么樣的Web項(xiàng)目,瀏覽器的選擇還是挺重要的。
一般來(lái)說(shuō)我習(xí)慣開(kāi)始就用IE,因?yàn)椴还苁钦l(shuí)買(mǎi)了電腦,微軟的東西肯定是必不可少的就裝在了系統(tǒng)里,除非不是Windows操作系統(tǒng)的電腦,而且IE對(duì)很多瀏覽器來(lái)說(shuō)算是最低端的,其他瀏覽器多多少少也會(huì)有IE內(nèi)核,開(kāi)發(fā)出來(lái)的東西最低端的瀏覽器運(yùn)行都不出問(wèn)題,那根據(jù)客戶下載喜好的高級(jí)瀏覽器那就更沒(méi)問(wèn)題了,理論上是這么的,低版本的都能過(guò)關(guān)了,更何況高版本的。當(dāng)然作為開(kāi)發(fā)者還是青睞于狐火瀏覽器,用它來(lái)調(diào)試比較好。
相關(guān)文章
微服務(wù)Spring Boot 整合 Redis 實(shí)現(xiàn)UV 數(shù)據(jù)統(tǒng)計(jì)的詳
這篇文章主要介紹了微服務(wù)Spring Boot 整合 Redis 實(shí)現(xiàn) UV 數(shù)據(jù)統(tǒng)計(jì),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01
詳解Java的堆內(nèi)存與棧內(nèi)存的存儲(chǔ)機(jī)制
這篇文章主要介紹了Java的堆內(nèi)存與棧內(nèi)存的存儲(chǔ)機(jī)制,包括JVM的內(nèi)存優(yōu)化和GC等相關(guān)方面內(nèi)容,需要的朋友可以參考下2016-01-01
JAVA實(shí)現(xiàn)對(duì)阿里云DNS的解析管理
本文主要介紹了JAVA實(shí)現(xiàn)對(duì)阿里云DNS的解析管理,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
SpringBoot整合高德地圖實(shí)現(xiàn)天氣預(yù)報(bào)功能
在當(dāng)今數(shù)字化時(shí)代,天氣預(yù)報(bào)功能在眾多應(yīng)用中扮演著重要角色,通過(guò)整合高德地圖提供的天氣API,我們可以輕松地在自己的SpringBoot項(xiàng)目中實(shí)現(xiàn)這一功能,本文將詳細(xì)介紹如何在SpringBoot項(xiàng)目中整合高德地圖的天氣預(yù)報(bào)功能,感興趣的小伙伴跟著小編一起來(lái)看看吧2025-03-03
spring mvc4的日期/數(shù)字格式化、枚舉轉(zhuǎn)換示例
本篇文章主要介紹了spring mvc4的日期/數(shù)字格式化、枚舉轉(zhuǎn)換示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-01-01

