如何才能快速处理ECI编码?Aspose.BarCode for Java帮你搞定!

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

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

▲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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值