前有web項目要用到打印機功能,來打印小票;
我在網上搜了下就是簡單的js代碼來實現打印機;
但我的業務不能在頁面再來設計打印的功能的配置;
所以我找了個第三方的瀏覽器控件——Lodop
我就是使用的Lodop
首先來配置環境
先來下載Lodop的環境
Lodop綜合版(Lodop6.226+CLodop3.083)
在下載的壓縮文件解壓縮后的CLodop_Setup_for_Win32NT.exe安裝,就可以使用了。
使用
在html導入,在head或body中加入
<script language="javascript" src="LodopFuncs.js"></script>
使用的話
var LODOP=getLodop();//直接這樣就得到了打印控件對象
常用的方法
PRINT_INIT(strPrintTaskName)//打印初始化 SET_PRINT_PAGESIZE(intOrient,intPageWidth,intPageHeight,strPageName)//設定紙張大小 ADD_PRINT_HTM(intTop,intLeft,intWidth,intHeight,strHtml)//增加超文本項 ADD_PRINT_TEXT(intTop,intLeft,intWidth,intHeight,strContent)//增加純文本項 ADD_PRINT_TABLE(intTop,intLeft,intWidth,intHeight,strHtml)//增加表格項 ADD_PRINT_SHAPE(intShapeType,intTop,intLeft,intWidth,intHeight,intLineStyle,intLineWidth,intColor)//畫圖形 SET_PRINT_STYLE(strStyleName, varStyleValue)//設置對象風格 PREVIEW()//打印預覽 PRINT()//直接打印 PRINT_SETUP()//打印維護 PRINT_DESIGN()//打印設計
這里使用它的官方的樣例
<script language="javascript" type="text/javascript"> var LODOP; //聲明為全局變量 function myPrint() { CreatePrintPage(); LODOP.PRINT(); }; function CreatePrintPage() { LODOP=getLodop(); LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_名片"); LODOP.ADD_PRINT_RECT(10,55,360,220,0,1); LODOP.SET_PRINT_STYLE("FontSize",11); LODOP.ADD_PRINT_TEXT(20,180,100,25,"郭德強"); LODOP.SET_PRINT_STYLEA(2,"FontName","隸書"); LODOP.SET_PRINT_STYLEA(2,"FontSize",15); LODOP.ADD_PRINT_TEXT(53,187,75,20,"科學家"); LODOP.ADD_PRINT_TEXT(100,131,272,20,"地址:中國北京社會科學院附近東大街西胡同"); LODOP.ADD_PRINT_TEXT(138,132,166,20,"電話:010-88811888"); }; </script>
預覽效果:
打印預覽
上面的方法其實還是有點抽象的
Lodop也提供了直接打印html的方法
//直接將idName的內容打印出來 var strHtml = document.getElementById("idName").innerHTML LODOP.ADD_PRINT_HTM(10,55,"100%","100%",strHtml);
我是用的這個來打印小票;
我寫的小票的樣式
更多詳細內容,請看官方文檔
http://www.lodop.net/LodopDemo.html
開需要的科目課本或資料文章
或者直接復制粘貼打印。
領取免費課本、資料、同步教學視頻。
ue-Plugin-HiPrint 是一個Vue.js的插件,旨在提供一個簡單而強大的打印解決方案。通過 Vue-Plugin-HiPrint,您可以輕松地在Vue.js應用程序中實現高度定制的打印功能。但是本文只簡單介紹 Vue-Plugin-HiPrint 在vue3中如何使用固定模板打印的使用方法,以便可以快速集成并使用它。
要開始使用 Vue-Plugin-HiPrint,首先需要安裝它。您可以使用 npm 或 yarn 進行安裝:
npm install vue-plugin-hiprint --save
# 或
yarn add vue-plugin-hiprint
安裝完成后,您需要在您的 Vue 項目中引入 Vue-Plugin-HiPrint。在您的 main.js 或任何其他入口文件中,您可以按以下方式引入它:
1、main.js中引入
import Vue from 'vue';
import VuePluginHiPrint from 'vue-plugin-hiprint';
Vue.use(VuePluginHiPrint);
這會將 Vue-Plugin-HiPrint 注冊為 Vue 插件,使其可用于您的整個應用程序。
2、組件中引入
import {hiPrintPlugin } from 'vue-plugin-hiprint'
在開始打印之前,您需要創建打印模板。Vue-Plugin-HiPrint 使用 HiPrint 作為底層打印引擎,它支持使用 HTML 和 CSS 創建高度自定義的打印模板。您可以創建一個包含您想要打印的內容的 HTML 模板,然后使用 CSS 樣式進行格式化。
請去demo預覽里創建一個適合業務需求的打印模板:
一旦您創建了打印模板,您可以在您的 Vue 組件中使用 Vue-Plugin-HiPrint 來觸發打印操作。首先,先要在項目的index.html文件中引入print-lock.css樣式文件,這個文件在node_modules/vue-plugin-hiprint/dist/目錄下:
<!--【必須】在index.html 文件中添加打印所需樣式(此cdn可能不穩定):-->
<link rel="stylesheet" type="text/css" media="print" href="https://cdn.jsdelivr.net/npm/vue-plugin-hiprint@latest/dist/print-lock.css">
<!-- 推薦使用:可以調整成 相對鏈接/自有鏈接, 【重要】名稱需要一致 【print-lock.css】-->
<link rel="stylesheet" type="text/css" media="print" href="/print-lock.css">
接下來,是在組件中的使用方法:
import {hiPrintPlugin } from 'vue-plugin-hiprint'
hiPrintPlugin.disAutoConnect(); //取消自動打印直接連接客戶端
hiprint.init();
在組件中我們需要先取消它的自動連接客戶端打印功能,然后初始化vue-plugin-hiprint。
Vue-Plugin-HiPrint 允許您自定義打印樣式,以滿足您的具體需求。您可以在 預覽網站中設計好需要的樣式并復制自定義模板的JSON數據,在項目中新建mb.json文件將模板json數據粘貼進去。
import mb from './mb.json'
function orderPrint(){
let printData = {orderId:'單號',title:'模板標題',table:[{NAME:'表格數據'}]};
let hiprintTemplate = new hiprint.PrintTemplate({ template: mb});
// 打印
hiprintTemplate.print(printData);
}
在上面的示例中,我們使用import引入了自定義模板,使用printData自定義了表單具體數據,最后使用print方法完美實現了打印。
Vue-Plugin-HiPrint 提供了一個強大的、易于使用的打印解決方案,適用于 Vue.js 應用程序。通過創建自定義的打印模板和使用 Vue-Plugin-HiPrint,您可以輕松地實現高度定制的打印功能,滿足您的項目需求。如果您正在尋找一個方便的 Vue.js 打印解決方案,Vue-Plugin-HiPrint 是一個值得嘗試的工具。
原文鏈接:https://juejin.cn/post/7297080018655412250
*請認真填寫需求信息,我們會在24小時內與您取得聯系。