温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Aspose.BarCode for Java是如何快速处理ECI编码

发布时间:2021-12-22 13:54:00 来源:亿速云 阅读:138 作者:柒染 栏目:互联网科技

Aspose.BarCode for Java是如何快速处理ECI编码,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Aspose.BarCode for Java是一个强大而可靠的API,为Java应用程序提供条形码生成和识别功能。它支持大多数已建立的条形码标准和规范,允许从任意角度读取图像中的1D和2D条形码。

Aspose.BarCode for Java v19.6中的属性和改进,将简化您使用ECI编码信息读取和写入条形码的工作,并且还可以读取低分辨率TIFF图像。

▲ECI编码

实现条形码读取是一项相当复杂的任务。条形码阅读器在读取条形码时需要大量的配置和信息,例如用于编码符号中的数据的引用。该信息通过在条形码中添加扩展通道解释(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编码:

  1. ISO_8859_1 – ISO/IEC 8859-1 Latin alphabet No. 1 encoding. ECI Id:”\000003″.

  2. ISO_8859_2 – ISO/IEC 8859-2 Latin alphabet No. 2 encoding. ECI Id:”\000004″.

  3. ISO_8859_3 – ISO/IEC 8859-3 Latin alphabet No. 3 encoding. ECI Id:”\000005″.

  4. ISO_8859_4 – ISO/IEC 8859-4 Latin alphabet No. 4 encoding. ECI Id:”\000006″.

  5. ISO_8859_5 – ISO/IEC 8859-5 Latin/Cyrillic alphabet encoding. ECI Id:”\000007″.

  6. ISO_8859_6 – ISO/IEC 8859-6 Latin/Arabic alphabet encoding. ECI Id:”\000008″.

  7. ISO_8859_7 – ISO/IEC 8859-7 Latin/Greek alphabet encoding. ECI Id:”\000009″.

  8. ISO_8859_8 – ISO/IEC 8859-8 Latin/Hebrew alphabet encoding. ECI Id:”\000010″.

  9. ISO_8859_9 – ISO/IEC 8859-9 Latin alphabet No. 5 encoding. ECI Id:”\000011″.

  10. ISO_8859_10 – ISO/IEC 8859-10 Latin alphabet No. 6 encoding. ECI Id:”\000012″.

  11. ISO_8859_11 – ISO/IEC 8859-11 Latin/Thai alphabet encoding. ECI Id:”\000013″.

  12. ISO_8859_13 – ISO/IEC 8859-13 Latin alphabet No. 7 (Baltic Rim) encoding. ECI Id:”\000015″.

  13. ISO_8859_14 – ISO/IEC 8859-14 Latin alphabet No. 8 (Celtic) encoding. ECI Id:”\000016″.

  14. ISO_8859_15 – ISO/IEC 8859-15 Latin alphabet No. 9 encoding. ECI Id:”\000017″.

  15. ISO_8859_16 – ISO/IEC 8859-16 Latin alphabet No. 10 encoding. ECI Id:”\000018″.

  16. Shift_JIS – Shift JIS (JIS X 0208 Annex 1 + JIS X 0201) encoding. ECI Id:”\000020″.

  17. Win1250 – Windows 1250 Latin 2 (Central Europe) encoding. ECI Id:”\000021″.

  18. Win1251 – Windows 1251 Cyrillic encoding. ECI Id:”\000022″.

  19. Win1252 – Windows 1252 Latin 1 encoding. ECI Id:”\000023″.

  20. Win1256 – Windows 1256 Arabic encoding. ECI Id:”\000024″.

  21. UTF16BE – ISO/IEC 10646 UCS-2 (High order byte first) encoding. ECI Id:”\000025″.

  22. UTF8 – ISO/IEC 10646 UTF-8 encoding. ECI Id:”\000026″.

  23. US_ASCII – ISO/IEC 646:1991 International Reference Version of ISO 7-bit coded character set encoding. ECI Id:”\000027″.

  24. Big5 – Big 5 (Taiwan) Chinese Character Set encoding. ECI Id:”\000028″.

  25. GB18030 – GB (PRC) Chinese Character Set encoding. ECI Id:”\000029″.

  26. EUC_KR – Korean Character Set encoding. ECI Id:”\000030″.

▲低分辨率TIFF条码识别

有些时候,有些图像的分辨率很低,无法检测到,就像其中一个原因可以完全清除条形码中的条形图一样。这个问题可能使它们太困难,甚至不可能被任何条形码读取软件读取。新的属性来克服这个问题,新的公共属性AllowOneDWipedBarsRestoration已添加到quality设置中,它允许引擎一维条形码识别条形码与单条擦/粘在模式。属性在高质量的MaxBarCodes模式下默认启用。

目前该属性用于Code128、GS1Code128、SCC14、EAN14、SSCC18、AustralianPosteParcel、SwissPostParcel条形码类型。在从BarCodeReader对象读取信息之前,可以调用下面的代码行来发出信号,让它读取低分辨率TIFF图像,从而使用此功能。

reader.getQualitySettings().setAllowOneDWipedBarsRestoration(true);

看完上述内容,你们掌握Aspose.BarCode for Java是如何快速处理ECI编码的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI