Web打印控件Lodop實現證件套打

第一次接觸Lodop大概是在兩年前了,那時候研究Lodop主要是爲了驗證它能不能實現打印時在不修改內容的前提下調整樣式,結果是ok的,現在又一次接觸它,是由於工做中須要使用它了,因而再一次碰面javascript

Lodop的官方網站http://www.lodop.net/index.html很簡單,但卻很全面,有控件介紹,有在線示例,這些就已經足夠了html

第一步,固然要先從下載開始,下載最新版本的控件安裝包,下載技術手冊java

第二步,根據技術手冊的說明,完成一個實例,其實很簡單了,Lodop真的作到了分分鐘就能實現Web套打,先看看最後實現的效果瀏覽器


很酷吧,有背景,有文本,有圖像,證件套打基本的元素都有了app

下面看看代碼字體

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>index.html</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<script language="javascript" src="lodop/LodopFuncs.js"></script>
		<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0>
			<embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0></embed>
		</object>

	</head>

	<body>
		<script language="javascript">
			var LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
		</script>
		<br>
		<button type="button" onclick="design()">
			設計模板
		</button>
		    
		<button type="button" onclick="view()">
			打印預覽
		</button>
		<br>
		<textarea id="templateCode" cols="100" rows="30" style="background-color: #fff;"></textarea>
	</body>
	<script type="text/javascript">
	function view() {
		init();
		LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW",1);
		LODOP.PREVIEW();
	}
	function design() {
		init();
		document.getElementById('templateCode').value=LODOP.PRINT_DESIGN();
	}

	function init() {
		LODOP.PRINT_INIT("打印身份證");
		LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='<%=basePath%>/images/身份證背面.png'>");
		LODOP.SET_PRINT_STYLE("FontSize",11);
		LODOP.ADD_PRINT_TEXT(184,117,172,20,"1234567890X");
		LODOP.SET_PRINT_STYLEA(0,"FontName","新宋體");
		LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
		LODOP.ADD_PRINT_TEXT(34,63,46,20,"張三");
		LODOP.SET_PRINT_STYLEA(0,"FontSize",9);
		LODOP.ADD_PRINT_TEXT(61,72,22,20,"男");
		LODOP.SET_PRINT_STYLEA(0,"FontSize",9);
		LODOP.ADD_PRINT_TEXT(60,142,21,20,"漢");
		LODOP.SET_PRINT_STYLEA(0,"FontSize",9);
		LODOP.ADD_PRINT_TEXT(114,62,219,20,"北京市東城區xxx街道第201號");
		LODOP.SET_PRINT_STYLEA(0,"FontSize",9);
		LODOP.ADD_PRINT_TEXT(85,65,41,20,"2015");
		LODOP.SET_PRINT_STYLEA(0,"FontSize",9);
		LODOP.ADD_PRINT_TEXT(85,118,22,20,"01");
		LODOP.SET_PRINT_STYLEA(0,"FontSize",9);
		LODOP.ADD_PRINT_TEXT(85,150,23,20,"31");
		LODOP.SET_PRINT_STYLEA(0,"FontSize",9);
		LODOP.ADD_PRINT_IMAGE(30,247,63,63,"<img border='0' src='<%=basePath%>/images/頭像.png'>");
	}
</script>
</html>

短短几十行js和html代碼就足夠了,設計按鈕效果以下圖所示:


須要說明的是,Lodop控件安裝文件須要和打印的頁面放在同一個目錄下,不然提示安裝的連接會找不到安裝包文件網站



最後,簡單說下Lodop的優點吧,之因此選用Lodop是由於:ui

一、兼容性好,主流的瀏覽器都支持了;spa

二、插件能實現自動安裝提醒,而且不須要其餘額外的設置;.net

三、可以實現權限控制,好比在不修改內容的前提下修改打印的樣式,好比調整字體,好比調整位置……。支持的權限控制以下:


四、用戶設計的打印頁面,能夠做爲個性化的我的設置,系統維護的同一個模板能夠適應不一樣的打印機。

相關文章
相關標籤/搜索