xpages中条码扫描生成

Bar code scan and generate in xpages

我需要在 xpages 应用程序中使用条形码,以生成条形码并读取它。有谁知道我可以在应用程序上使用的任何库?有人在 xpages 应用程序中使用过这些功能吗?我如何找出条形码图案?

我在 XPages 应用程序中使用 Barcode4J 生成条码:http://barcode4j.sourceforge.net/

我正在使用 ZXing 创建和读取不同类型的条形码。 对于 Java 6,有一个旧版本可用:Solvoj ZXing

编辑:

  1. 导入http://central.maven.org/maven2/com/solvoj/zxing-java6/core-java6/3.2.0/core-java6-3.2.0.jar
  2. 导入http://central.maven.org/maven2/com/solvoj/zxing-java6/javase-java6/3.2.0/javase-java6-3.2.0.jar
  3. 创建托管 bean
  4. 将 bean 添加到您的 XPage

托管 Bean

package ch.hasselba.xpages;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

import javax.faces.context.FacesContext;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageConfig;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.ibm.xsp.webapp.XspHttpServletResponse;

public class ZXingBean {

    public void generateDemoQRCode() {
        FacesContext fc = FacesContext.getCurrentInstance();
        XspHttpServletResponse  response = (XspHttpServletResponse) fc.getExternalContext().getResponse();

        try {
            response.setContentType("image/png");
            response.getOutputStream().write(generateQRCode("Hello World!", 200, 200 ));
        } catch (IOException e) {
            e.printStackTrace();
        } catch (WriterException e) {
            e.printStackTrace();
        }

        fc.responseComplete();

    }
    public byte[] generateQRCode(String text, int width, int height)
            throws WriterException, IOException {

        ByteArrayOutputStream baos = new ByteArrayOutputStream();

        BitMatrix matrix = new MultiFormatWriter().encode(text,
                BarcodeFormat.QR_CODE, width, height);

        MatrixToImageWriter.writeToStream(matrix, "png", baos,
                new MatrixToImageConfig());

        return baos.toByteArray();
    }

}

人脸-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
  <managed-bean>
    <managed-bean-name>zxingBean</managed-bean-name>
    <managed-bean-class>ch.hasselba.xpages.ZXingBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>
</faces-config>

XAgent

<xp:view
    xmlns:xp="http://www.ibm.com/xsp/core"
    rendered="false"
    viewState="nostate">
    <xp:this.beforeRenderResponse><![CDATA[#{javascript:zxingBean.generateDemoQRCode()}]]></xp:this.beforeRenderResponse>

</xp:view>