javascript - 条码扫描并在xpages中生成

标签 javascript xpages barcode

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

最佳答案

我正在使用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();
    }

}

faces-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>

关于javascript - 条码扫描并在xpages中生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50919101/

相关文章:

javascript - 有人可以解释一下,在Javascript中,当你更新Object1时,在它被用作Object2中的值并且Object2收到相同的更新之后?

css - 如何将图形置于应用程序布局控件的中间部分?

windows - 有没有适用于 Windows Phone 7 的免费条码读取器 sdk?

python - 为什么我的程序不遵循我设置的条件?功能问题?

javascript - 使用 CSS-Grid 合并不同单元格的边框(边框折叠行为)

javascript - 将内容插入到第一个选择器

javascript - 如何访问子指令模板内的父指令属性

xpages - CLFAD####E 或 CLFAD####W 在 XPage 中表示什么?

dojo - 为什么我的 dojo.byId 不能在脚本库中工作?

c# - 读取条形码后触发事件并将焦点设置在文本框上