Aspose.BarCode for Java是如何快速处理ECI编码,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Aspose.BarCode for Java是一个强大而可靠的API,为Java应用程序提供条形码生成和识别功能。它支持大多数已建立的条形码标准和规范,允许从任意角度读取图像中的1D和2D条形码。
在Aspose.BarCode for Java v19.6中的属性和改进,将简化您使用ECI编码信息读取和写入条形码的工作,并且还可以读取低分辨率TIFF图像。
实现条形码读取是一项相当复杂的任务。条形码阅读器在读取条形码时需要大量的配置和信息,例如用于编码符号中的数据的引用。该信息通过在条形码中添加扩展通道解释(ECI)设置嵌入到条形码中。这种机制允许在条形码符号中使用通常不受支持的国家字符集,如阿拉伯语、希腊语或日语。当一个符号被扫描时,该信息不打算成为条形码数据的一部分,这就是为什么它在扫描符号时保持透明的原因。它只是一个开关或tick-box,由阅读器选中,然后是一个依赖于符号的ECI选择。在基本信道模式下,ECI控制信息不从阅读器传输到主机系统。在扩展信道模式下,ECI控制信息和数据都被传输到主机系统。
Aspose.BarCode for Java通过在条形码生成器类中提供属性QrParameters.setQrECIEncoding()和getQrECIEncoding()实现了该特性。例如,如果您想将编码模式设置为ECI,并将编码模式设置为utf8,应该在创建条形码时使用以下语句:
//初始化一个BarcodeGenerator类对象 //设置它的CodeText & Symbology类型 BarcodeGenerator generator = new BarcodeGenerator(com.aspose.barcode.EncodeTypes.QR, "1234567890"); //设置编码模式,ForceQR(默认)为标准QR, ECI编码类型, //误差校正水平 generator.getParameters().getBarcode().getQR().setQrEncodeMode(QREncodeMode.ECI_ENCODING); generator.getParameters().getBarcode().getQR().setQrEncodeType(QREncodeType.FORCE_QR); generator.getParameters().getBarcode().getQR().setQrECIEncoding(ECIEncodings.UTF8); generator.getParameters().getBarcode().getQR().setQrErrorLevel(QRErrorLevel.LEVEL_L); //获取条形码图像位图并保存二维码 java.awt.image.BufferedImage combined = generator.generateBarCodeImage(); java.io.File imageFile = new java.io.File(dataDir + "EncodeQRCodEInECIMode_out.png"); javax.imageio.ImageIO.write(combined, "PNG", imageFile);
下面是使用此功能时提供的ECI编码:
ISO_8859_1 – ISO/IEC 8859-1 Latin alphabet No. 1 encoding. ECI Id:”\000003″.
ISO_8859_2 – ISO/IEC 8859-2 Latin alphabet No. 2 encoding. ECI Id:”\000004″.
ISO_8859_3 – ISO/IEC 8859-3 Latin alphabet No. 3 encoding. ECI Id:”\000005″.
ISO_8859_4 – ISO/IEC 8859-4 Latin alphabet No. 4 encoding. ECI Id:”\000006″.
ISO_8859_5 – ISO/IEC 8859-5 Latin/Cyrillic alphabet encoding. ECI Id:”\000007″.
ISO_8859_6 – ISO/IEC 8859-6 Latin/Arabic alphabet encoding. ECI Id:”\000008″.
ISO_8859_7 – ISO/IEC 8859-7 Latin/Greek alphabet encoding. ECI Id:”\000009″.
ISO_8859_8 – ISO/IEC 8859-8 Latin/Hebrew alphabet encoding. ECI Id:”\000010″.
ISO_8859_9 – ISO/IEC 8859-9 Latin alphabet No. 5 encoding. ECI Id:”\000011″.
ISO_8859_10 – ISO/IEC 8859-10 Latin alphabet No. 6 encoding. ECI Id:”\000012″.
ISO_8859_11 – ISO/IEC 8859-11 Latin/Thai alphabet encoding. ECI Id:”\000013″.
ISO_8859_13 – ISO/IEC 8859-13 Latin alphabet No. 7 (Baltic Rim) encoding. ECI Id:”\000015″.
ISO_8859_14 – ISO/IEC 8859-14 Latin alphabet No. 8 (Celtic) encoding. ECI Id:”\000016″.
ISO_8859_15 – ISO/IEC 8859-15 Latin alphabet No. 9 encoding. ECI Id:”\000017″.
ISO_8859_16 – ISO/IEC 8859-16 Latin alphabet No. 10 encoding. ECI Id:”\000018″.
Shift_JIS – Shift JIS (JIS X 0208 Annex 1 + JIS X 0201) encoding. ECI Id:”\000020″.
Win1250 – Windows 1250 Latin 2 (Central Europe) encoding. ECI Id:”\000021″.
Win1251 – Windows 1251 Cyrillic encoding. ECI Id:”\000022″.
Win1252 – Windows 1252 Latin 1 encoding. ECI Id:”\000023″.
Win1256 – Windows 1256 Arabic encoding. ECI Id:”\000024″.
UTF16BE – ISO/IEC 10646 UCS-2 (High order byte first) encoding. ECI Id:”\000025″.
UTF8 – ISO/IEC 10646 UTF-8 encoding. ECI Id:”\000026″.
US_ASCII – ISO/IEC 646:1991 International Reference Version of ISO 7-bit coded character set encoding. ECI Id:”\000027″.
Big5 – Big 5 (Taiwan) Chinese Character Set encoding. ECI Id:”\000028″.
GB18030 – GB (PRC) Chinese Character Set encoding. ECI Id:”\000029″.
EUC_KR – Korean Character Set encoding. ECI Id:”\000030″.
有些时候,有些图像的分辨率很低,无法检测到,就像其中一个原因可以完全清除条形码中的条形图一样。这个问题可能使它们太困难,甚至不可能被任何条形码读取软件读取。新的属性来克服这个问题,新的公共属性AllowOneDWipedBarsRestoration已添加到quality设置中,它允许引擎一维条形码识别条形码与单条擦/粘在模式。属性在高质量的MaxBarCodes模式下默认启用。
目前该属性用于Code128、GS1Code128、SCC14、EAN14、SSCC18、AustralianPosteParcel、SwissPostParcel条形码类型。在从BarCodeReader对象读取信息之前,可以调用下面的代码行来发出信号,让它读取低分辨率TIFF图像,从而使用此功能。
reader.getQualitySettings().setAllowOneDWipedBarsRestoration(true);
看完上述内容,你们掌握Aspose.BarCode for Java是如何快速处理ECI编码的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。