vue使用lodop打印插件

首先將lodop安裝包放到static下

下載地址:http://www.c-lodop.com/download.html

新建一個(gè)vue測(cè)試lodop功能

LodopFuncs.js

var CreatedOKLodop7766 = null,

? ? CLodopIsLocal;

//====判斷是否需要 Web打印服務(wù)CLodop:===

//===(不支持插件的瀏覽器版本需要用它)===

function needCLodop() {

? ? try {

? ? ? ? var ua = navigator.userAgent;

? ? ? ? if (ua.match(/Windows\sPhone/i)) return true;

? ? ? ? if (ua.match(/iPhone|iPod|iPad/i)) return true;

? ? ? ? if (ua.match(/Android/i)) return true;

? ? ? ? if (ua.match(/Edge\D?\d+/i)) return true;

? ? ? ? var verTrident = ua.match(/Trident\D?\d+/i);

? ? ? ? var verIE = ua.match(/MSIE\D?\d+/i);

? ? ? ? var verOPR = ua.match(/OPR\D?\d+/i);

? ? ? ? var verFF = ua.match(/Firefox\D?\d+/i);

? ? ? ? var x64 = ua.match(/x64/i);

? ? ? ? if (!verTrident && !verIE && x64) return true;

? ? ? ? else if (verFF) {

? ? ? ? ? ? verFF = verFF[0].match(/\d+/);

? ? ? ? ? ? if (verFF[0] >= 41 || x64) return true;

? ? ? ? } else if (verOPR) {

? ? ? ? ? ? verOPR = verOPR[0].match(/\d+/);

? ? ? ? ? ? if (verOPR[0] >= 32) return true;

? ? ? ? } else if (!verTrident && !verIE) {

? ? ? ? ? ? var verChrome = ua.match(/Chrome\D?\d+/i);

? ? ? ? ? ? if (verChrome) {

? ? ? ? ? ? ? ? verChrome = verChrome[0].match(/\d+/);

? ? ? ? ? ? ? ? if (verChrome[0] >= 41) return true;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? return false;

? ? } catch (err) {

? ? ? ? return true;

? ? }

}

//====頁(yè)面引用CLodop云打印必須的JS文件,用雙端口(8000和18000)避免其中某個(gè)被占用:====

if (needCLodop()) {

? ? var src1 = "http://localhost:8000/CLodopfuncs.js?priority=1";

? ? var src2 = "http://localhost:18000/CLodopfuncs.js?priority=0";

? ? var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;

? ? var oscript = document.createElement("script");

? ? oscript.src = src1;

? ? head.insertBefore(oscript, head.firstChild);

? ? oscript = document.createElement("script");

? ? oscript.src = src2;

? ? head.insertBefore(oscript, head.firstChild);

? ? CLodopIsLocal = !!(src1 + src2).match(/\/\/localho|\/\/127.0.0./i);

}

//====獲取LODOP對(duì)象的主過(guò)程:====

function getLodop(oOBJECT, oEMBED) {

? var strHtmInstall =

? ? "<br><font color='#FF00FF'>打印控件未安裝!點(diǎn)擊這里<a href='/static/lodop/install_lodop32.exe' download='install_lodop32.exe' target='_self'>執(zhí)行安裝</a>,安裝后請(qǐng)刷新頁(yè)面或重新進(jìn)入。</font>";

? var strHtmUpdate =

? ? "<br><font color='#FF00FF'>打印控件需要升級(jí)!點(diǎn)擊這里<a href='/static/lodop/install_lodop32.exe' download='install_lodop32.exe' target='_self'>執(zhí)行升級(jí)</a>,升級(jí)后請(qǐng)重新進(jìn)入阿蝶。</font>";

? var strHtm64_Install =

? ? "<br><font color='#FF00FF'>打印控件未安裝!點(diǎn)擊這里<a href='/static/lodop/install_lodop64.exe' download='install_lodop64.exe' target='_self'>執(zhí)行安裝</a>,安裝后請(qǐng)刷新頁(yè)面或重新進(jìn)入雳锋。</font>";

? var strHtm64_Update =

? ? "<br><font color='#FF00FF'>打印控件需要升級(jí)!點(diǎn)擊這里<a href='/static/lodop/install_lodop64.exe' download='install_lodop64.exe' target='_self'>執(zhí)行升級(jí)</a>,升級(jí)后請(qǐng)重新進(jìn)入。</font>";

? var strHtmFireFox =

? ? "<br><br><font color='#FF00FF'>(注意:如曾安裝過(guò)Lodop舊版附件npActiveXPLugin,請(qǐng)?jiān)凇竟ぞ摺?>【附加組件】->【擴(kuò)展】中先卸它)</font>";

? var strHtmChrome =

? ? "<br><br><font color='#FF00FF'>(如果此前正常羡洁,僅因?yàn)g覽器升級(jí)或重安裝而出問(wèn)題玷过,需重新執(zhí)行以上安裝)</font>";

? var strCLodopInstall_1 =

? ? "<br><font color='#FF00FF'>Web打印服務(wù)CLodop未安裝啟動(dòng),點(diǎn)擊這里<a href='/static/lodop/CLodop_Setup_for_Win32NT.exe' download='CLodop_Setup_for_Win32NT.exe' target='_self'>下載執(zhí)行安裝</a>";

? var strCLodopInstall_2 =

? ? "<br>(若此前已安裝過(guò)焚廊,可<a href='CLodop.protocol:setup' target='_self'>點(diǎn)這里直接再次啟動(dòng)</a>)";

? var strCLodopInstall_3 = "冶匹,成功后請(qǐng)刷新本頁(yè)面。</font>";

? var strCLodopUpdate =

? ? "<br><font color='#FF00FF'>Web打印服務(wù)CLodop需升級(jí)!點(diǎn)擊這里<a href='/static/lodop/CLodop_Setup_for_Win32NT.exe' download='CLodop_Setup_for_Win32NT.exe' target='_self'>執(zhí)行升級(jí)</a>,升級(jí)后請(qǐng)刷新頁(yè)面咆瘟。</font>";

? var LODOP;

? var lodopMessage = "";

? try {

? ? var ua = navigator.userAgent;

? ? var isIE = !!ua.match(/MSIE/i) || !!ua.match(/Trident/i);

? ? if (needCLodop()) {

? ? ? try {

? ? ? ? LODOP = getCLodop();

? ? ? } catch (err) {}

? ? ? if (!LODOP && document.readyState !== "complete") {

? ? ? ? return { lodopMessage: "網(wǎng)頁(yè)還沒(méi)下載完畢嚼隘,請(qǐng)稍等一下再操作." };

? ? ? }

? ? ? if (!LODOP) {

? ? ? ? lodopMessage =

? ? ? ? ? strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3 + lodopMessage;

? ? ? ? return { lodopMessage };

? ? ? } else {

? ? ? ? if (CLODOP.CVERSION < "3.0.8.3") {

? ? ? ? ? lodopMessage = strCLodopUpdate + lodopMessage;

? ? ? ? }

? ? ? ? if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED);

? ? ? ? if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT);

? ? ? }

? ? } else {

? ? ? var is64IE = isIE && !!ua.match(/x64/i);

? ? ? //=====如果頁(yè)面有Lodop就直接使用,沒(méi)有則新建:==========

? ? ? if (oOBJECT || oEMBED) {

? ? ? ? if (isIE) LODOP = oOBJECT;

? ? ? ? else LODOP = oEMBED;

? ? ? } else if (!CreatedOKLodop7766) {

? ? ? ? LODOP = document.createElement("object");

? ? ? ? LODOP.setAttribute("width", 0);

? ? ? ? LODOP.setAttribute("height", 0);

? ? ? ? LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;");

? ? ? ? if (isIE) LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA");

? ? ? ? else LODOP.setAttribute("type", "application/x-print-lodop");

? ? ? ? document.documentElement.appendChild(LODOP);

? ? ? ? CreatedOKLodop7766 = LODOP;

? ? ? } else LODOP = CreatedOKLodop7766;

? ? ? //=====Lodop插件未安裝時(shí)提示下載地址:==========

? ? ? if (!LODOP || !LODOP.VERSION) {

? ? ? ? if (ua.indexOf("Chrome") >= 0) lodopMessage = strHtmChrome + lodopMessage;

? ? ? ? if (ua.indexOf("Firefox") >= 0) lodopMessage = strHtmFireFox + lodopMessage;

? ? ? ? lodopMessage = (is64IE ? strHtm64_Install : strHtmInstall) + lodopMessage;

? ? ? ? return { LODOP, lodopMessage };

? ? ? }

? ? }

? ? if (LODOP.VERSION < "6.2.2.6") {

? ? ? if (!needCLodop()) lodopMessage = (is64IE ? strHtm64_Update : strHtmUpdate) + lodopMessage;

? ? }

? ? //===如下空白位置適合調(diào)用統(tǒng)一功能(如注冊(cè)語(yǔ)句袒餐、語(yǔ)言選擇等):==

? ? LODOP.SET_LICENSES("ljq", "", "", "");

? ? //=======================================================

? ? return { LODOP: LODOP, lodopMessage: lodopMessage };

? } catch (err) {

? ? return { lodopMessage: "getLodop出錯(cuò)" + err };

? }

}

export {

? getLodop

}

lodopPrint.vue引用

<template>

? ? <div>

? ? ? <el-button type="primary" @click="lodopPrint">lodop打印</el-button>

? ? </div>

</template>

<script>

? ? import {getLodop} from './LodopFuncs';

? ? export default {

? ? ? ? name: "lodopPrint",

? ? ? methods:{

? ? ? ? lodopPrint(){

? ? ? ? ? var { LODOP, lodopMessage } = getLodop();

? ? ? ? ? if (lodopMessage) {

? ? ? ? ? ? this.$alert(lodopMessage, 'LODOP啟動(dòng)錯(cuò)誤', {

? ? ? ? ? ? ? dangerouslyUseHTMLString: true

? ? ? ? ? ? });

? ? ? ? ? }

? ? ? ? ? //打印初始化

? ? ? ? ? LODOP.PRINT_INIT("");

? ? ? ? ? //設(shè)置紙張大蟹捎肌(橫向打印谤狡,寬0,高0卧檐,A4紙張)

? ? ? ? ? LODOP.SET_PRINT_PAGESIZE(2,0,0,"A4");

? ? ? ? ? //新建頁(yè)

? ? ? ? ? LODOP.NEWPAGE();

? ? ? ? ? //學(xué)生課表頭

? ? ? ? ? //字體大小

? ? ? ? ? LODOP.SET_PRINT_STYLE("FontSize", 13);

? ? ? ? ? //是否粗體

? ? ? ? ? LODOP.SET_PRINT_STYLE("Bold", 1);

? ? ? ? ? //打印頭部標(biāo)題內(nèi)容

? ? ? ? ? LODOP.ADD_PRINT_TEXT(10,390,300,10,"測(cè)試Lodop");

? ? ? ? ? LODOP.PREVIEW();

? ? ? ? }

? ? ? },

? ? }

</script>

<style scoped>

</style>

測(cè)試結(jié)果:

居然要打印的內(nèi)容可以參考lodop技術(shù)手冊(cè)

http://www.c-lodop.com/download/Lodop6.2NoteBook20181130.zip

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末墓懂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子霉囚,更是在濱河造成了極大的恐慌捕仔,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盈罐,死亡現(xiàn)場(chǎng)離奇詭異榜跌,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)盅粪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)钓葫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人票顾,你說(shuō)我怎么就攤上這事础浮。” “怎么了奠骄?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵豆同,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我戚揭,道長(zhǎng)诱告,這世上最難降的妖魔是什么撵枢? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任民晒,我火速辦了婚禮,結(jié)果婚禮上锄禽,老公的妹妹穿的比我還像新娘潜必。我一直安慰自己,他們只是感情好沃但,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布磁滚。 她就那樣靜靜地躺著,像睡著了一般宵晚。 火紅的嫁衣襯著肌膚如雪垂攘。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天淤刃,我揣著相機(jī)與錄音晒他,去河邊找鬼。 笑死逸贾,一個(gè)胖子當(dāng)著我的面吹牛陨仅,可吹牛的內(nèi)容都是我干的津滞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼灼伤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼触徐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起狐赡,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤撞鹉,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后颖侄,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體孔祸,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年发皿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了崔慧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡穴墅,死狀恐怖惶室,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情玄货,我是刑警寧澤皇钞,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站松捉,受9級(jí)特大地震影響夹界,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜隘世,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一可柿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丙者,春花似錦复斥、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至纷捞,卻和暖如春痢虹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背主儡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工奖唯, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缀辩。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓臭埋,卻偏偏與公主長(zhǎng)得像踪央,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瓢阴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容