import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.DefaultConfiguration;
import org.apache.avalon.framework.logger.ConsoleLogger;
import org.apache.avalon.framework.logger.Logger;
import org.krysalis.barcode4j.BarcodeGenerator;
import org.krysalis.barcode4j.BarcodeUtil;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
import org.krysalis.barcode4j.tools.MimeTypes;
public class Test1
{
private transient Logger log = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
public static void main(String[] args)
{
Test1 t =new Test1();
t.getBarcode();
System.out.println("success");
}
protected void getBarcode()
{
String format = MimeTypes.MIME_JPEG;// MimeTypes.MIME_JPEG
String text = "ABCDE0123456789";
ByteArrayOutputStream bout = null;
try
{
BarcodeUtil util = BarcodeUtil.getInstance();
Configuration cfg = buildCfg();
BarcodeGenerator gen = util.createBarcodeGenerator(cfg);
bout = new ByteArrayOutputStream(4096);
int dpi = 300; // 分辨率
int orientation = 0;
BitmapCanvasProvider bitmap = new BitmapCanvasProvider(bout,
format, dpi, BufferedImage.TYPE_BYTE_BINARY, false,
orientation);
gen.generateBarcode(bitmap, text);
bitmap.finish();
File file = new File("c://"+text+".jpg");
FileOutputStream fos = new FileOutputStream(file);
fos.write(bout.toByteArray(), 0, bout.size());
// response.setContentType(format);
// response.setContentLength(bout.size());
// response.getOutputStream().write(bout.toByteArray());
// response.getOutputStream().write(bout.toByteArray());
// response.getOutputStream().flush();
}
catch (Exception e)
{
log.error("Error while generating barcode", e);
}
finally
{
if (bout != null)
{
try
{
bout.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
/**
* Build an Avalon Configuration object from the request.
*
* @return the newly built COnfiguration object
* @todo Change to bean API
*/
protected Configuration buildCfg()
{
DefaultConfiguration cfg = new DefaultConfiguration("barcode");
// Get type
String type = "code128";
DefaultConfiguration child = new DefaultConfiguration(type);
cfg.addChild(child);
// DefaultConfiguration attr;
// // height
// String height = "100px";
// attr = new DefaultConfiguration("height");
// attr.setValue(height);
// child.addChild(attr);
//
// // width
// String moduleWidth = "300px";
// attr = new DefaultConfiguration("module-width");
// attr.setValue(moduleWidth);
// child.addChild(attr);
return cfg;
}
}
分享到:
相关推荐
JavaScript是一种轻量级的脚本语言,通常用于网页交互和动态效果的实现,因此,用JavaScript生成一维条码可以使网页应用具有更强的功能性。 生成一维条码的基本步骤包括以下几个方面: 1. **编码规则理解**:首先...
JS 生成一维码(条形码)功能示例 本文将详细讲解JS生成一维码(条形码)的方法,并提供了一个完整的示例代码。本示例代码使用JavaScript生成一维码(条形码),并提供了详细的注释,帮助开发者快速理解和使用。 一、...
在IT行业中,生成一维码(条形码)并实现打印功能是常见的需求,尤其是在零售、物流和仓储管理等领域。JavaScript(简称js)作为一种广泛应用于前端开发的语言,也能胜任这样的任务。下面将详细介绍如何利用...
在Java编程环境中,生成一维码(如常见的条形码)是常见的需求,尤其是在物流、库存管理和产品追踪等领域。本文将深入探讨如何使用Java来生成一维码,并结合提供的资源进行详细讲解。 首先,要理解一维码是一种将...
条形码生成器是一种软件工具,它允许用户通过输入数字序列来创建一维条形码图像。这种技术在各种行业中广泛应用,例如零售、物流、库存管理等,因为条形码可以快速、准确地识别和记录商品信息。接下来,我们将深入...
标题中的"pb90生成一维码二维码.rar"指的是使用PowerBuilder 9.0(简称pb90)开发的一个程序,这个程序具有生成一维条形码和二维码的功能。一维码通常指的是条形码,如EAN、UPC等,它们在商品包装上常见,用于快速...
在C++编程环境下,生成一维码涉及到对特定编码格式的理解以及利用图形库或自定义算法来绘制条码图像。 标题“C++ 生成一维码”表明我们要讨论的是如何在C++程序中创建各种一维码类型的代码。以下是一些关键知识点:...
生成一维码字体,支持cs/bs,适用于条码,唯一编码打印,调用方便;font-size:16px;padding-left: 10px;'>*123456789* 。
本资源"生成一维条形码.rar"提供了一种简单易用的解决方案,允许开发者快速生成不同类型的条形码,包括Code39、Code93和Code128等。以下是关于这些一维条形码格式以及Java环境下使用JBarcode库进行条形码生成的详细...
在Delphi编程环境中,开发一款能够生成一维条形码的控件是一项常见的需求,尤其在数据跟踪、库存管理或产品标识等领域。本资源“delphi代码实现一维条形码控件.rar”提供了一个无需额外插件的解决方案,特别针对...
这个压缩包“77个一维码 条形码 字体”显然包含了多种用于生成一维码和条形码的字体资源,方便用户在文档、标签或打印件上集成这些编码。 一维码,全称为一维条形码,是最基础的条码类型,包括常见的UPC(统一产品...
生成一维码的过程涉及编码规则的理解,将数字转换为特定的条形码格式。在编程中,可以使用各种库,例如Python的`py-barcode`库,来生成一维码图像,然后将其保存或直接输出到打印机。 二维码,如QR码,是一种二维的...
在IT行业中,生成一维码或条形码的图片是一项常见的任务,特别是在物流、库存管理、产品标识等领域。本文将详细讲解如何使用Java语言来批量生成一维码图片,以及可能遇到的问题和解决方案。 首先,Java中实现一维码...
在IT行业中,尤其是在软件开发领域,一维条形码生成是一项常见的需求,特别是在库存管理系统、物流跟踪或商品销售等场景。本项目提供了一个基于C++和MFC(Microsoft Foundation Classes)的解决方案,允许用户将输入...
"生成一维码"的标题暗示了我们将探讨如何创建一维条形码图像,以便在各种应用中使用。这通常涉及到使用特定的库或控件,比如BarCode OCX,这是压缩包中的文件名。OCX是OLE自定义控件的扩展名,它是一种ActiveX组件,...
(function() { if (!exports) var exports = window; var BARS = [212222,222122,222221,121223,121322,131222,122213,122312,132212,221213,221312,231212,112232,122132,122231,113222,123122,123221,223211,...
在IT行业中,生成一维条形码是一项常见的需求,特别是在零售、物流和库存管理等领域。条形码是一种图形表示方式,能够快速、准确地识别和记录商品信息。本教程将聚焦于如何使用Java编程语言来生成一维条形码,并结合...
一维条码如EAN-13、UPC-A等,主要用于存储简单的序列号或价格信息;二维条码如QR码、PDF417、DataMatrix等,能存储更多复杂的数据,包括文本、URL、联系信息等。 从标签“PB二维码生成”我们可以推断,此项目特别...
根据给定的信息,本文将详细解释一维条形码的生成与实现...通过以上步骤,我们可以看到该程序是如何通过C语言结合OpenCV库生成一维条形码的。这不仅有助于理解条形码的基本工作原理,也为实际应用提供了一种实现方案。
在生成一维码时,C语言提供了对底层硬件的直接控制,使得程序能够高效地创建和输出条形码图像。 在Linux环境下,我们可以利用标准输入输出、文件操作和图形库来实现这个功能。例如,可以使用PIL(Python Imaging ...