Javascript 在xpages中扫描并生成条形码

Javascript 在xpages中扫描并生成条形码,javascript,xpages,barcode,Javascript,Xpages,Barcode,我需要在xpages应用程序中使用条形码,以生成条形码和读取条形码。有人知道我可以在应用程序上使用哪些库吗?有人在xpages应用程序中使用过这些功能吗?如何找到条形码模式?我在XPages应用程序中使用Barcode4J生成条形码:。我在XPages应用程序中使用Barcode4J生成条形码:。我用于创建和读取不同类型的条形码。 对于Java 6,有一个较旧的版本可用: 编辑: 进口 进口 创建托管bean 将bean添加到XPage 托管Bean package ch.hasselba.xp

我需要在xpages应用程序中使用条形码,以生成条形码和读取条形码。有人知道我可以在应用程序上使用哪些库吗?有人在xpages应用程序中使用过这些功能吗?如何找到条形码模式?

我在XPages应用程序中使用Barcode4J生成条形码:。

我在XPages应用程序中使用Barcode4J生成条形码:。

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

编辑

  • 进口
  • 进口
  • 创建托管bean
  • 将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>
    
    
    慈兴豆
    ch.hasselba.xpages.ZXingBean
    一场
    
    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>
    
    
    
    我使用它创建和读取不同类型的条形码。 对于Java 6,有一个较旧的版本可用:

    编辑

  • 进口
  • 进口
  • 创建托管bean
  • 将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>
    
    
    慈兴豆
    ch.hasselba.xpages.ZXingBean
    一场
    
    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>
    
    
    
    谢谢!我将查看库并查看您与xpages应用程序的交互。我将简短地返回。一个问题,您是否在尚未准备好移动的xpages应用程序中使用引用的库?因为这是我的情况,它是一个web应用程序,但与移动设备不兼容。另一个细节,有了这个库,我有了如何使用条形码阅读器?如果可能的话,你能在xpages应用程序中举出一些例子让我看看吗?@MarcusLoza:我已经添加了一个生成QR码的例子,ZXing库不限于“移动”开发。它可以用于任何类型的应用。但它是Android开发的“事实标准”库,在数千个应用程序中都有使用。虽然是德语,但你可能理解相关部分,或者谷歌翻译可能会帮助你。谢谢!我将查看库并查看您与xpages应用程序的交互。我将简短地返回。一个问题,您是否在尚未准备好移动的xpages应用程序中使用引用的库?因为这是我的情况,它是一个web应用程序,但与移动设备不兼容。另一个细节,有了这个库,我有了如何使用条形码阅读器?如果可能的话,你能在xpages应用程序中举出一些例子让我看看吗?@MarcusLoza:我已经添加了一个生成QR码的例子,ZXing库不限于“移动”开发。它可以用于任何类型的应用。但它是Android开发的“事实标准”库,在数千个应用程序中都有使用。虽然是德语,但你可能理解相关部分,或者谷歌翻译可能会帮助你。谢谢!还有要看条形码有什么指示吗?谢谢!要读取条形码,您需要指出什么?您在应用程序中读取条形码的方案是什么?您在应用程序中读取条形码的方案是什么?