资江小票打印机js实现web打印(web通用打印)
网上有很多关于web打印的js代码和解决办法,这里推荐一个认为介绍的比较全的
https://blog.csdn.net/_/article/details/
1.使用jQuery插件进行打印 jquery.print
引入文件
<script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.print.js"></script>
讯享网
调用方法
讯享网$("#myElementId").print(/*options*/); 或者: $.print("#myElementId" /*, options*/);
参数配置
$("#myElementId").print({ globalStyles: true, mediaPrint: false, stylesheet: null, noPrintSelector: ".no-print", iframe: true, append: null, prepend: null, manuallyCopyFormValues: true, deferred: $.Deferred() });
| 参数 | 默认值 | 接受值 | 描述 |
|---|---|---|---|
| globalStyles | true | Boolean | 是否包含父文档的样式 |
| mediaPrint | false | Boolean | 是否包含media=’print’的链接标签。会被globalStyles选项覆盖 |
| stylesheet | null | URL-string | 外部样式表的URL地址 |
| noPrintSelector | “.no-print” | 任何可用的jQuery选择器 | 不想打印的元素的jQuery选择器 |
| iframe | 默认true,如果没有iframe选择器被传入会创建一个隐藏的iframe | 任何可用的jQuery选择器或Boolean | 是否使用一个iframe来替代打印表单的弹出窗口 |
| append/prepend | null | Boolean | 是否将用户更新的表单输入框内容作为打印内容(通过迭代每一个表单元素来实现) |
| deferred | $.Deferred() | 任何可用的jQuery.Deferred对象 | 当打印函数被调用时的jQuery.Deferred对象 |
讯享网 $("#print").print({ //Use Global styles globalStyles : false, //Add link with attrbute media=print mediaPrint : false, //Custom stylesheet stylesheet : "", //Print in a hidden iframe iframe : true, //Don't print this noPrintSelector : "", //Add this at top prepend : "", //Add this on bottom append : "===============<br/>"+now, deferred:$.Deferred().done(function () {
alert("成功") }) });
这种方法可以很轻松的实现打印只需要 给个隐藏框 调用时显示 打印完再隐藏,问 题是无论chrome还是ie都需要调出浏览器打印控件。
大多数打印机用的是A4纸,而我们项目需要用到的是小票纸 宽56mm 这就需要设置浏览器打印选项,每次设置起来很不方便

2.php后端打印php_printer.dll扩展
参考博客 https://www.cnblogs.com/skyfynn/p/5895703.html
很强大但也很操蛋,只能再本地服务器安装打印,远程实现不了
3.一个很不错的控件Lodop,几乎支持所有浏览器和打印机
官网下载地址 http://www.lodop.net/download.html
文档很详细,支持套打,分页打
LODOP=getLodop(); LODOP.PRINT_INIT(""); //初始化 LODOP.SET_PRINT_PAGESIZE(1, "56mm","90mm","")//设置纸张大小 LODOP.SET_PRINT_STYLE("ItemType",0); //页脚页眉 LODOP.SET_PRINT_STYLE("FontSize",10); LODOP.SET_PRINT_STYLE("Bold",1); LODOP.ADD_PRINT_TEXT("80mm","0","56mm","1mm",'============='); LODOP.ADD_PRINT_BARCODE("55mm","13mm","30mm","30mm","QRCode","1233")//二维码 LODOP.ADD_PRINT_HTM("0","0","56mm","80mm",document.getElementById("print").innerHTML);//获取节点 LODOP.PREVIEW(); //打印预览 LODOP.PRINT();//直接打印
唯一不美的是 不购买,只能预览打印 直接打印的话页脚会有一个水印。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/19901.html