barcode

 

Barcode4J由Java语言编写而成,可以灵活的生成条形码。它采用Apache License V2.0许可,这使得它很容易在商业中被使用。它可以让您生成各种流行的一维和二维条码,包括DataMatrix 和 PDF417。以各种格式输出,包括SVG, EPS, bitmaps和Java2D,同样也可根据您的需要添加自己的输出格式。

网址:http://barcode4j.sourceforge.net/

看看官方说明:

  • 1D barcode implementations :
    • Interleaved 2 of 5
    • Code 39
    • Code 128
    • EAN-128, GS1-128 (based on Code 128)
    • Codabar
    • UPC-A and UPC-E (with supplementals)
    • EAN-13 and EAN-8 (with supplementals)
    • POSTNET
    • Royal Mail Customer Barcode (Four State)
    • USPS Intelligent Mail (4-State Customer Barcode)
  • 2D barcode implementations :
    • PDF 417 (ISO/IEC 15438:2001(E))
    • DataMatrix (ISO/IEC 16022:2000(E))
  • Support for multiple output formats :
    • SVG
    • EPS (Encapsulated PostScript)
    • Bitmap images (such as PNG or JPEG)
    • Java2D (AWT)
    • Text (for testing and debugging only)
  • Servlet with support for SVG, EPS and bitmap output [more info]
  • Command-line interface [more info]
  • Plug-ins/extensions for third-party products:
    • Apache Xalan: SVG-generating XSLT extension [more info]
    • SAXON XSLT Processor from Michael Kay: SVG-generating XSLT extension [more info]
    • Apache FOP: support as fo:instream-foreign-object [more info]

 

下载Barcode4J的源代码和jar包!

本文下载的是:barcode4j-2.0-src.zipbarcode4j-2.0-bin.zip

现在做个小web测试一下。

一、把barcode4j-2.0-bin.zip包barcode4j.jar和avalon-framework-4.2.0.jar,添加到项目的lib下面,

把barcode4j-2.0-src.zip包下面的org/krysalis/barcode4j/servlet/BarcodeServlet.java这个java类COPY到项目中,然后在改一下这个类的代码,其有一个地方是默认的图片显示方式,

 protected String determineFormat(HttpServletRequest request) {
        String format = request.getParameter(BARCODE_FORMAT);
        format = MimeTypes.expandFormat(format);
        if (format == null) format = MimeTypes.MIME_SVG;
        return format;
    }

这个方法中的MimeTypes.MIME_SVG改为MimeTypes.MIME_JPEG,以jpg格式显示图片。

 

二、在web.xml内配置这个servlet:

<servlet>
    <servlet-name>BarcodeServlet</servlet-name>
    <servlet-class>org.krysalis.barcode4j.servlet.BarcodeServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>BarcodeServlet</servlet-name>
    <url-pattern>/servlet/BarcodeServlet</url-pattern>

  

  三、在页面加上:

 <img src="<%=request.getContextPath() %>/servlet/BarcodeServlet?msg=4444&BARCODE_TYPE=code39" height="50px" width=130px/>  

 注:msg参数表示要生成条形码的值,BARCODE_TYPE参数表示条形码的类型

你可能感兴趣的:(apache,servlet,extension,XSLT,debugging,postscript)