明确需求
已存在刊印好的小册子,需要将导入的数据对号入座的打印到小册子上。
实现方式
首先,将小册子中需要的数据获取出来。
其次,打印数据到小册子上。
LODOP官网
1. 通过官网中演示可以满足各种功能需求 各种demo
2. 下载可以下载对应的安装版本。控件下载
<a class="btn btn-info" onclick="CreatePrintPage();LODOP.PREVIEW();" >打印预览a>
<a class="btn btn-info" onclick="CreatePrintPage();LODOP.PRINT_DESIGN();">打印设计a>
//声明全局变量
var LODOP;
function CreatePrintPage() {
LODOP=getLodop();
LODOP.PRINT_INIT("套打模板设计");
}
安装控件后,通过打印设计入口,打开设计模板如下图:
(1)装载背景图
(2)调整背景图
因是套打,选择第三项,设置高度宽度为册子实际高度和宽度,点击确定。
(3)添加文本项,可以调整高度字体,位置等基本属性。
可以通过选中文本框,对文本框属性进行编辑,如下:
(4) 生成伪代码
LODOP.PRINT_INIT("套打模板设计");
LODOP.ADD_PRINT_SETUP_BKIMG("C:\\Users\\ebonyzhang\\Desktop\\222222222.jpg");
LODOP.ADD_PRINT_TEXT(158,146,250,25,"新加文本1");
LODOP.ADD_PRINT_TEXT(198,146,255,25,"新加文本2");
LODOP.ADD_PRINT_TEXT(235,146,290,25,"新加文本3");
LODOP.ADD_PRINT_TEXT(271,146,290,25,"新加文本4");
至此,界面上的设计就完成了。
function toPrint(houseNo){
var orgId = $("#orgId").val();
var url = prefix + '/toPrint?orgId=' +orgId+ '&houseNo=' + houseNo;
$.ajax({
url:url,//地址
dataType:'json',//数据类型
type:'POST',//类型
timeout:3000,//超时
success:function(res,status){//请求成功
if(res.code==0){
//打印输出并预览
createPrint(res.data);
LODOP.PREVIEW();
}
},
error:function(XMLHttpRequest,textStatus,errorThrown){
if(textStatus==='timeout'){
setTimeout(function(){
alert('重新请求');
},3000);
}
}
})
}
function createPrint(data){
data = $.parseJSON(data);
console.log(data);
LODOP=getLodop();
LODOP.SET_SHOW_MODE("BKIMG_WIDTH","184.94mm");
LODOP.SET_SHOW_MODE("BKIMG_HEIGHT","260.09mm");
LODOP.ADD_PRINT_TEXT(158,146,250,25, data.represent.name);
LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
//顺时针旋转90度
LODOP.SET_PRINT_STYLEA(0,"AngleOfPageInside", -90);
LODOP.ADD_PRINT_TEXT(198,146,255,25,data.represent.sex);
LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
LODOP.ADD_PRINT_TEXT(235,146,290,25,data.represent.idcard);
LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
LODOP.ADD_PRINT_TEXT(271,146,290,25, data.represent.address);
LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
//下一页
LODOP.NewPageA();
LODOP.ADD_PRINT_TEXT(375,146,290,25, data.represent.mark);
......
}
LODOP.SET_PRINT_PAGESIZE(2, 0, 0, “A4”);
第一个参数: 0–可通过打印机选择纵向或横向,1–锁定为纵向打印,2—锁定为横向打印
第二个参数0 打印纸张的宽度 为0 ,可自定义宽
第三个参数0 打印纸张的高度 为 0 ,可自定义高
第四个参数A4 指定用 A4 纸打印
当宽度和高度都设为 0 的时候,才能指定用特定的纸型打印,如:A4 ,B5 等。
LODOP.SET_SHOW_MODE(“LANDSCAPE_DEFROTATED”,1);
通过设置旋转角度值进行控制打印方向:
LODOP.SET_PRINT_STYLEA(1,“AngleOfPageInside”,角度值);
–1 位置可以指定页数使用 1代表是当前页,2代表第二页,0代表所有页。
ADD_PRINT_HTM超文本的普通模式,输出的是解析后的超文本,ADD_PRINT_HTML输出的是超文本的图形模式,能更好的输出页面样式,但是不如普通模式清晰,ADD_PRINT_TABLE自动分页不切行,等等,有各种语句用来输出超文本,超文本解析需要浏览器引擎,因此可能造成不同客户端效果有差异。
以上