当前位置: 首页 > 工具软件 > Barbecue > 使用案例 >

页面生成条码并打印(使用jquery.jqprint-0.3.js+barbecue-1.5-beta1.jar)

仲孙奇
2023-12-01

优点:

在页面直接从后台获取到的数据生成条码进行打印处理,不用存储生成的条码图片,能够节约大量资源

步骤:

1.在页面引用js问文件:如下(使用此轻量级插件,用于打印表格,打印整体页面可以直接使用window.print();即可)

<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery.jqprint-0.3.js"></script>

2.编写需要打印的区域

<div class="printDiv" style="text-align: center;">
  	<div>
        <img src='"+Path+"/barcode?data=11111&type=Code128A&width=1&height=95'>            
    <div style='font-size: 18px;'>Test</div></div><br>
</div>

3.引用打印功能

function printall(){
   			$(".printDiv").jqprint(); 	
		}
//调整
$("#printDiv").jqprint({
	     debug: false, //如果是true则可以显示iframe查看效果(iframe默认高和宽都很小,可以再源码中调大),默认是false
	     importCSS: true, //true表示引进原来的页面的css,默认是true。(如果是true,先会找$("link[media=print]"),若没有会去找$("link")中的css文件)
	     printContainer: true, //表示如果原来选择的对象必须被纳入打印(注意:设置为false可能会打破你的CSS规则)。
	     operaSupport: true//表示如果插件也必须支持歌opera浏览器,在这种情况下,它提供了建立一个临时的打印选项卡。默认是true
		});

4.导入jar包barbecue-1.5-beta1.jar,放入工程下的 WEB-INFO\lib目录里。右键导入即可

5.在工程的web.xml里增加 servlet映射文件

<servlet>   
	<servlet-name>BarcodeServlet</servlet-name>   
	<servlet-class>net.sourceforge.barbecue.BarcodeServlet</servlet-class>   
</servlet>   
<servlet-mapping>   
	<servlet-name>BarcodeServlet</servlet-name>   
	<url-pattern>/barcode</url-pattern>   
</servlet-mapping> 

6.在需要打印的表格内添加如下代码,此文直接在class为printDiv的Div中添加即可

<img src="<%=request.getContextPath()%>/barcode?data=123456789&type=Code39&width=1&height=20">

7.参数解释 
data=123456789 要生成条形码的字符
type=Code39   表示是code39码 ,条形码类型
width 表示生成的条形码的宽度
height=20 表示生成的条形码的高度

8.可能出现的问题

(1).使用jquery.jqprint-0.3.js轻量级插件,在需要打印的Div内部无法使用#{}等el表示式,如若使用转义符\也只是一个字符串,而无法获取到应有的数值。

解决方法:例:应用场景,可以使用ajax发送请求,获取其返回到的数据,在此使用append进行添加即可。先生成条码,然后后进行打印处理。

以上就是本文的全部内容,希望对大家的学习有所帮助。

 类似资料: