在iPhone和Android上生成2D条形码(例如QR码,数据矩阵,PDF417)

时间:2010-11-30 17:36:15

标签: iphone android qr-code

我需要一个库来生成 iPhone和Android上的二维条码(最好是WM7,也可能是j2me) - 我们的想法是将信息传输到另一台带有相应扫描仪的设备(解码器) 。有什么好的选择?

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

9 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

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

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

作者 - Andrew Kopanev

答案 2 :(得分:2)

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

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

答案 3 :(得分:2)

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

我使用以下代码段:

    // 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兼容条形码扫描仪成功扫描条形码。

答案 4 :(得分:1)

如果您要在线转移到其他设备,则可能需要使用第三方QR码API来获取图像。调用REST API是跨平台移动应用程序的最佳选择。

此API用于URI:http://www.tag.cx/qr-codes/

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

答案 5 :(得分:1)

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

总结 - “该项目在GPL v2下开发和分发QR码解码/编码库。项目目标是利用全球可编程设备的QR码嵌入信息.QR码是工业标准,JIS-X- 0510和ISO / IEC18004。“

答案 6 :(得分:1)

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

答案 7 :(得分:1)

还要检查(我无法发布这些因为stackoverflow阻止了多个网址): 一个python版本(如上面的网站所列): http://pyqrcode.sourceforge.net/

答案 8 :(得分:0)

我可能来不及以任何方式帮助您,但我找到了一个很好的Data Matrix代码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];