您好,登錄后才能下訂單哦!
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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。