溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Aspose.BarCode for Java是如何快速處理ECI編碼

發(fā)布時間:2021-12-22 13:54:00 來源:億速云 閱讀:124 作者:柒染 欄目:互聯(lián)網科技

Aspose.BarCode for Java是如何快速處理ECI編碼,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

Aspose.BarCode for Java是一個強大而可靠的API,為Java應用程序提供條形碼生成和識別功能。它支持大多數(shù)已建立的條形碼標準和規(guī)范,允許從任意角度讀取圖像中的1D和2D條形碼。

Aspose.BarCode for Java v19.6中的屬性和改進,將簡化您使用ECI編碼信息讀取和寫入條形碼的工作,并且還可以讀取低分辨率TIFF圖像。

▲ECI編碼

實現(xiàn)條形碼讀取是一項相當復雜的任務。條形碼閱讀器在讀取條形碼時需要大量的配置和信息,例如用于編碼符號中的數(shù)據(jù)的引用。該信息通過在條形碼中添加擴展通道解釋(ECI)設置嵌入到條形碼中。這種機制允許在條形碼符號中使用通常不受支持的國家字符集,如阿拉伯語、希臘語或日語。當一個符號被掃描時,該信息不打算成為條形碼數(shù)據(jù)的一部分,這就是為什么它在掃描符號時保持透明的原因。它只是一個開關或tick-box,由閱讀器選中,然后是一個依賴于符號的ECI選擇。在基本信道模式下,ECI控制信息不從閱讀器傳輸?shù)街鳈C系統(tǒng)。在擴展信道模式下,ECI控制信息和數(shù)據(jù)都被傳輸?shù)街鳈C系統(tǒng)。

Aspose.BarCode for Java通過在條形碼生成器類中提供屬性QrParameters.setQrECIEncoding()getQrECIEncoding()實現(xiàn)了該特性。例如,如果您想將編碼模式設置為ECI,并將編碼模式設置為utf8,應該在創(chuàng)建條形碼時使用以下語句:

//初始化一個BarcodeGenerator類對象
//設置它的CodeText & Symbology類型
BarcodeGenerator generator = new BarcodeGenerator(com.aspose.barcode.EncodeTypes.QR, "1234567890");

//設置編碼模式,F(xiàn)orceQR(默認)為標準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對象讀取信息之前,可以調用下面的代碼行來發(fā)出信號,讓它讀取低分辨率TIFF圖像,從而使用此功能。

reader.getQualitySettings().setAllowOneDWipedBarsRestoration(true);

看完上述內容,你們掌握Aspose.BarCode for Java是如何快速處理ECI編碼的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI