比较好用的web打印控件——Lodop

时间:2022-04-30 07:25:44

前一段时间公司一项目比较特殊,客户要求打印单必须是淘宝上卖的那种三联打印单。如果还是使用原来系统自带的打印的话,就会造成无法打印出来理想的效果,于是找了下相关的打印控件,比较网络上比较流行的几款插件,最终发现,还是Lodop比较好用一些。下面写下它的基本用法。

1、准备工作,下载控件及官方demo

下面给出官方的下载地址:http://www.lodop.net/download.html

2、基本使用

由于Lodop控件是一个exe程序,所以第一次使用的时候,需要提示用户安装这个控件(控件大小在2M左右),注意Lodop根据操作系统类型不同(X86还是X64),分为install_lodop32.exe 和install_lodop64.exe

(1)提示用户安装控件

在页面的head标签内,写下如下代码:

 

注意:/ControlPackage/Lodop 这个目录是我自己创建的目录,如果你自己使用,可修改为自己的目录

function CheckIsInstall() {
try {
var LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
if ((LODOP != null) && (typeof(LODOP.VERSION) != "undefined")) {
alert("本机已成功安装过Lodop控件!\n 版本号:" + LODOP.VERSION);
}
} catch (err) {
//alert("Error:本机未安装或需要升级!");
}
};

具体调用代码:

<input type="button" value="检查是否安装打印控件" onclick="JAVASCRIPT: CheckIsInstall()" />

(2)打印页面内容

由于我打印的内容是一个form表单下的table表格,所以调用的是ADD_PRINT_TABLE,这个函数,如果大家打印html或者其他可以参考这篇文章——lodop相关参数和讲解。

注意:打印的内容的样式,一定要直接写在页面上,不要使用css样式

下面贴出来打印form1表单的table标签内容的js代码。

var LODOP; //声明为全局变量
function prn1_preview() {
CreateOneFormPage();
LODOP.PREVIEW();
};
function CreateOneFormPage() {
LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_表单一");
LODOP.SET_PRINT_STYLE("FontSize", 14);
LODOP.SET_PRINT_STYLE("Bold", 1);
LODOP.ADD_PRINT_TABLE("5mm", "0mm", "230mm", "140mm", document.getElementById("form1").innerHTML);
};

打印内容:

<input id="btnPrint2" value="打 印" type="button" onclick="javascript: prn1_preview()" />