java+web+打印条形码_javaweb条形码产生、打印、扫描
产生条形码的插件到是不少,但是能用针式打印机打印在合适表单上,而且能用常用的激光扫描器扫描出来的demo到不是很多。
本文,所牵扯的代码与工具均亲测可用。
使用工具:
epson LQ-630K针式打印机
honeywell ms9540 激光条码扫描枪
激光打印机
难度:
激光打印机,不管用什么编码格式,用下文的代码输出图片,扫描枪均可以扫描出来;
针式打印机打印效果没有那么好,打印出来的不能扫描出来,刚开始不知道什么问题,换编码方式,换样式表示方式等,调针式打印机配置等,各种组合测试。
解决方案:
采用下文代码、适当调宽条形码宽度即可。
也不用增加太大(太大显得不协调),15位(5位字母后面都是数字)一般正常输出的话宽度是51mm左右吧,调到56就可以识别了,当然如果不理想,可以再调下。
demo:
另外项目中要加入jbarcode-0.2.8.jar包,点此下载。
项目使用struts框架,struts中如下配置:
image/jpeg
inputStream
前台如下调用即可
aciton类
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import javax.imageio.ImageIO;
import javax.imageio.stream.ImageOutputStream;
import org.jbarcode.JBarcode;
import org.jbarcode.encode.Code93Encoder;
import org.jbarcode.paint.BaseLineTextPainter;
import org.jbarcode.paint.EAN13TextPainter;
import org.jbarcode.paint.WidthCodedPainter;
public class BarcodeAction {
private ByteArrayInputStream inputStream;
private String barcode;
public String execute() throws Exception {
JBarcode jBarcode = new JBarcode(Code93Encoder.getInstance(), WidthCodedPainter.getInstance(), BaseLineTextPainter.getInstance());
jBarcode .setShowCheckDigit(false);
jBarcode .setCheckDigit(true);
jBarcode .setShowText(false);
jBarcode .setBarHeight(10);
BufferedImage bufferedImage = jBarcode .createBarcode(barcode);
ByteArrayOutputStream output = new ByteArrayOutputStream();
ImageOutputStream imageOut = ImageIO.createImageOutputStream(output);
ImageIO.write(bufferedImage , "JPEG", imageOut);
imageOut.close();
inputStream = new ByteArrayInputStream(output.toByteArray());
return "success";
}
public void setInputStream(ByteArrayInputStream inputStream) {
this.inputStream = inputStream;
}
public ByteArrayInputStream getInputStream() {
return inputStream;
}
public String getBarcode() {
return barcode;
}
public void setBarcode(String barcode) {
this.barcode = barcode;
}
}
java+web+打印条形码_javaweb条形码产生、打印、扫描相关推荐
- java web 添加超链接_Javaweb 超链接后显示问题
java web 项目发送带有超链接文本邮件问题 今天做java web项目的时候遇到了一个很想不通的或者说很奇葩的问题, 小编首先需要设置邮件内容的格式为:html 其次在内容中加上不要太乖,不想做 ...
- java web架构配置_javaweb(1) tomcat配置和web程序结构
一.tomcat配置 为方便在cmd中直接启动tomcat服务器,可以像其他程序(如jdk)一样配置tomcat. 1.CATALINA_HOME = D:\java\apache-tomcat-8. ...
- java web 生命周期_JavaWeb的生命周期
分为启动(加载web应用的有关数据,创建ServletContext对象,对Filter和一些Servlet初始化).运行时(主要是Servlet容器调用service(方法))和终止(释放资源)三个 ...
- java web 耗时请求_javaweb应用中出现了一个耗时异常长的数据查询,寻求帮助
项目使用SSM,oracle 11g,linux服务器,生产环境与测试环境代码相同,数据库不同,相关细节配置可能不同. 业务需要根据关键字查询系统中人员的相关信息,用户输入一个关键字,能够模糊查询一张 ...
- java web编写计算器_javaWeb 使用 jsp 和 javaBean 实现计算器功能
jsp 和 javaBean 实现计算器功能 try { calculator.calculate(); } catch (Exception e) { out.write(e.getMessage( ...
- java web容器原理_javaWeb工作原理
http:无状态协议,客户端和服务器之间不需要建立持久的连接,通信完就断开. http的工作流程: 1.客户端和服务器建立连接 2.客户端发送请求 3.服务器响应内容 4.服务器关闭连接,客户端解析服 ...
- java web 开发基础_javaweb开发基础(一)
001使用MyEclispe建立web工程 我的建立在D盘WebAPP这个目录下 在myeclipse中启动Tomcat,在浏览器中输入http://localhost:8080/,如果不出意外的话, ...
- java web开发常见问题_JavaWeb学习笔记(五)--Web开发其他常见问题
一.把web应用打成war包 使用JDK自带jar命令,进入到web应用里面,执行命令: jar -cvf 包名.war . # .表示当前目录所有的文件 直接用jar可查看帮助 执行完成后生成一个d ...
- java web批量下载_JAVAWEB批量文件下载器
[实例简介] JAVAWEB批量文件下载器,实现文件批量下载,队列方式,一个下载完成,再下载另一个. [实例截图] [核心代码] 7a8f7e4d-75f1-489b-9ef8-b42f3b6da24 ...
最新文章
- Windows下使用Visual Studio自带的MSVC,命令行编译C/C++程序
- JAVA线程池的简单实现及优先级设置
- dp笔记:关于DP算法和滚动数组优化的思考
- 第12章 存储器的保护
- mysql做报表分析_mysqlreport解析
- python之判断一个值是不是可以被调用
- 不同环境配置Django
- 论文笔记_S2D.64_2021_MonoRec_动态环境下单目移动相机的半监督稠密重建
- Python获取列表中字符串最长位置处的索引值
- Log4cpp 库安装及使用
- JAVA基础语法:java编程规范和常用数据类型
- 矩阵乘法求导计算公式推导
- 计算机硬盘应该什么格式化,硬盘应该格式化成哪种格式为好?
- 【游戏】——微信打飞机
- D - Hangar Hurdles(kruskal重构树+树上倍增)
- Excel 多条件筛选 与 数据透视表 实现
- linux基因组文件,转录组入门(四):了解参考基因组及基因注释
- Hadoop/MapReduce 共同好友解决方案:求大量集合的两两交集
- 数据结构更新中...
- matlab tikz,TeX系列: matlab2tikz--matlab图形数据转化为tikz命令