lodop
前提:为满足js调用打印机功能,浏览器自带的打印会弹出一个预览框,实际在应用场景上不需要这个预览弹窗,点击页面打印要直接根据预设好的参数直接打印,这个时候看到了lodop这个插件。
步骤1:官网下载exe文件
点击官网 传送门 ![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sF7k4ril-1690769144422)(image.png)]](https://img-blog.csdnimg.cn/a7a90c0d0544467db00fe1e1d141ed09.png)
下载完成后解压有个exe程序需要安装下。
步骤二:引入LodopFuncs.js文件
根据步骤一下载后有个LodopFuncs.js文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oW7YXf45-1690769144422)(image-1.png)]](https://img-blog.csdnimg.cn/66266658d8794af0a6d631810d3e511c.png)
引入到需要使用的页面上
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02xn8XVd-1690769144423)(image-2.png)]](https://img-blog.csdnimg.cn/3455fb4fa63845bcaf130af9504478be.png)
步骤三:调用打印机
1.获取lodop对象
const LODOP = getLodop() // 获取Lodop对象
- 打印
const LODOP = getLodop() // 获取Lodop
console.log(modal)
// 方法一:打印预览html代码
LODOP.PRINT_INIT("入馆凭证") // 设置标题
var strFormHtml="<body>" + modal.value.innerHTML + "</body>";
LODOP.SET_PRINT_PAGESIZE(3,"80mm","" ,"") // 设置纸张大小
LODOP.ADD_PRINT_HTML(0,0,"80mm","100%",strFormHtml); // 添加超文本
// 方法二:打印预览网页页面
// LODOP.ADD_PRINT_HTML(0,0,"100%","100%","URL:http://www.baidu.com");
//预览
LODOP.PREVIEW();
// 选择打印机
// LODOP.PRINTA();
// 直接打印
// LODOP.PRINT()
modal.value.innerHTML 为页面DOM里的内容,也可以采用字符串拼接的方式。
当然还有很多属性配置项,官方文档都有说明和相应的demo可以自行查看。官网示例
PS:lodop不支持同步拿到打印成功的回调只能根据定时器去轮循调用打印机的状态。



















