【问题标题】:Generate 2D bar code (e.g. QR Code, Data Matrix, PDF417) on iPhone and Android在 iPhone 和 Android 上生成二维条码(例如 QR 码、Data Matrix、PDF417)
【发布时间】:2010-11-30 17:36:14
【问题描述】:

我需要一个库来生成在 iPhone 和 Android(最好是 WM7 和可能的 j2me)上的 2D 条码 - 想法是将信息传输到具有相应扫描仪(解码器)的另一台设备.有哪些好的选择?

ZXing 是一个选项,特别是在读取/解码方面,但我想在这些设备上生成它们。

【问题讨论】:

    标签: iphone android qr-code


    【解决方案1】:

    最好的选择应该是ZXing's 库。我不确定是否支持 Windows Phone 7。

    【讨论】:

    • 好的,谢谢!虽然我想我应该说“在 ZXing 之外”,因为我知道这一点。它主要用于阅读这些代码,不是吗?
    • @stolsvik:据我所知,您也可以使用 ZXing 的库生成它们。
    【解决方案2】:

    我尝试了上述所有解决方案均未成功,但后来找到了这个库: akopanev-iOS-QR-Code-Encoder

    开源,易于实现,有示例 xcode 项目,效果很好

    作者 - 安德鲁·科帕涅夫

    【讨论】:

      【解决方案3】:

      zxing 适用于 Android。 Java 编码器还没有移植到 C++(请随意加入并做出贡献……应该不会那么难。)在此之前,我一直在使用 psytec 编码器 (http://groups.google.com/group/zxing/msg/27e421daeb510d0f)。 cmets 是日文的,但很简单。

      我对 WM7 没有任何要添加的内容。那是C#吗? zxing 有一个 C# 端口,但我不知道有人在积极维护它,也不知道它是否包含编码器。

      【讨论】:

        【解决方案4】:

        我一直在使用 ZXING 成功编码 QR 条码。但是,至少在当前版本中,它似乎对其他符号的编码支持有限(例如:PDF-417)。

        我使用下面的代码sn-p:

            // Encode the bitmap and display it on the screen
            try {
                // This will produce a 150x150 QR Barcode and display it on the screen.
                Bitmap bm = encodeAsBitmap(barcodeContentString, BarcodeFormat.QR_CODE, 150, 150);
        
                if(bm != null) {
                    barcodeImage.setImageBitmap(bm);
                }
        }
            catch (WriterException e) { ... }
        

        在本例中,“barcodeContentString”是正在编码的数据。 "barcodeImage" 是一个标准的 ImageView。

        我没有在这里显示它,但我在显示条形码的整个时间段内都打开了屏幕。因此,我能够使用兼容 QR 的条码扫描器成功扫描条码。

        【讨论】:

          【解决方案5】:

          如果您要在线传输到另一台设备,那么您可能需要使用第 3 方二维码 API 来获取图像。调用 REST API 是跨平台移动应用的最佳选择。

          此 API 为 URI 执行此操作:http://www.tag.cx/qr-codes/

          您还可以托管自己的私有二维码生成器 API。

          【讨论】:

            【解决方案6】:

            这是另一个 Java 版本: http://qrcode.sourceforge.jp/

            总结--“本项目在GPL v2下开发和分发二维码解码/编码库。项目目标是利用二维码嵌入信息用于全世界的可编程设备。二维码是工业标准,JIS-X- 0510 和 ISO/IEC18004。”

            【讨论】:

              【解决方案7】:

              还可以查看(我无法发布这些,因为 stackoverflow 阻止了多个 url): 和一个 .net 版本(如上面网站所列): http://www.codeproject.com/KB/cs/qrcode.aspx

              【讨论】:

                【解决方案8】:

                还可以查看(我无法发布这些,因为 stackoverflow 阻止了多个 url): 一个 python 版本(如上面网站上列出的): http://pyqrcode.sourceforge.net/

                【讨论】:

                  【解决方案9】:

                  我可能为时已晚,无法以任何方式帮助您,但我已经找到了一个很好的数据矩阵代码 SDK。更多说明在他们的网站 HERE 上,但要在此处也提供代码,您需要执行以下操作:

                  OBLinear *pLinear = [OBLinear new];
                  [pLinear setNBarcodeType: OB_CODE128A];
                  [pLinear setPDataMsg: [[NSString alloc] initWithString:@"AB"]];
                  //[pLinear setPSupData: [[NSString alloc] initWithString:@"14562"]];
                  [pLinear setFX: USER_DEF_BAR_WIDTH];
                  [pLinear setFY: USER_DEF_BAR_HEIGHT];
                  
                  [pLinear setFLeftMargin:USER_DEF_LEFT_MARGIN];
                  [pLinear setFRightMargin:USER_DEF_RIGHT_MARGIN];
                  [pLinear setFTopMargin:USER_DEF_TOP_MARGIN];
                  [pLinear setFBottomMargin:USER_DEF_BOTTOM_MARGIN];
                  
                  [pLinear setNRotate:OB_Rotate0];
                  
                  UIFont *pTextFont = [UIFont fontWithName: @"Arial" size: 8.0f];
                  [pLinear setPTextFont: pTextFont];
                  
                  [pLinear drawWithView:self.view];
                  

                  【讨论】:

                    猜你喜欢
                    • 2013-04-15
                    • 2012-09-22
                    • 2015-06-04
                    • 1970-01-01
                    • 2014-04-17
                    • 2023-03-11
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多