翻譯|使用教程|編輯:安雯斯|2023-05-23 10:03:01.750|閱讀 136 次
概述:本章介紹如何使用 Aspose.在 Java 中對條碼使用 ECI 編碼,歡迎查閱!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Aspose.Words是一種高級Word文檔處理API,用于執行各種文檔管理和操作任務。API支持生成,修改,轉換,呈現和打印文檔,而無需在跨平臺應用程序中直接使用Microsoft Word。
Aspose API支持流行文件格式處理,并允許將各類文檔導出或轉換為固定布局文件格式和最常用的圖像/多媒體格式。
Aspose技術交流群(761297826)
Aspose.BarCode for Java 19.6發布,其中包含新的屬性和改進,這將簡化您使用 ECI 編碼信息讀寫條形碼的工作,還可以讀取低分辨率的 TIFF 圖像。這些 API 更改和其他詳細信息可以在API 文檔的發行說明頁面中獲得。讓我分享這些新功能的細節以及它們在編程中的使用。
實施條形碼讀取是一項相當復雜的任務。條形碼閱讀器在讀取條形碼時需要大量配置和信息,例如用于編碼符號中數據的參考。通過在條形碼中添加擴展通道解釋 (ECI) 設置,將此信息嵌入條形碼中。此機制允許在條形碼符號中使用通常不受支持的國家字符集,例如阿拉伯語、希臘語或日語。掃描符號時,此信息不打算成為條形碼數據的一部分,這就是掃描符號時保持透明的原因。它只是一個開關或勾選框,由閱讀器選中,然后進行符號相關的 ECI 選擇。在基本通道模式下,ECI 控制信息不會從閱讀器傳輸到主機系統。在擴展通道模式下,
Aspose.Barcode 通過在條形碼生成器類中提供屬性 QrParameters.setQrECIEncoding() 和 getQrECIEncoding() 來實現此功能。例如,如果要將編碼模式設置為 ECI,將編碼方案設置為 UTF 8,則在創建條碼時應使用以下語句。
/ initialize a BarcodeGenerator class object // Set its CodeText & Symbology Type BarcodeGenerator generator = new BarcodeGenerator(com.aspose.barcode.EncodeTypes.QR, "1234567890"); // Set encoding mode, ForceQR (default) for standard QR, ECI encoding type, // error correction level generator.getParameters().getBarcode().getQR().setQrEncodeMode(QREncodeMode.ECI_ENCOD generator.getParameters().getBarcode().getQR().setQrEncodeType(QREncodeType.FORCE_QR); generator.getParameters().getBarcode().getQR().setQrECIEncoding(ECIEncodings.UTF8); generator.getParameters().getBarcode().getQR().setQrErrorLevel(QRErrorLevel.LEVEL_L); // Get barcode image Bitmap & Save QR code 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 拉丁字母 1 號編碼。ECI ID:“\000003”。 ISO_8859_2 - ISO/IEC 8859-2 拉丁字母 2 號編碼。ECI ID:“\000004”。 ISO_8859_3 - ISO/IEC 8859-3 拉丁字母 3 號編碼。ECI ID:“\000005”。 ISO_8859_4 - ISO/IEC 8859-4 拉丁字母 4 號編碼。ECI ID:“\000006”。 ISO_8859_5 - ISO/IEC 8859-5 拉丁/西里爾字母編碼。ECI ID:“\000007”。 ISO_8859_6 - ISO/IEC 8859-6 拉丁/阿拉伯字母表編碼。ECI ID:“\000008”。 ISO_8859_7 - ISO/IEC 8859-7 拉丁/希臘字母表編碼。ECI ID:“\000009”。 ISO_8859_8 - ISO/IEC 8859-8 拉丁/希伯來字母表編碼。ECI ID:“\000010”。 ISO_8859_9 - ISO/IEC 8859-9 拉丁字母 5 號編碼。ECI ID:“\000011”。 ISO_8859_10 - ISO/IEC 8859-10 拉丁字母表 6 號編碼。ECI ID:“\000012”。 ISO_8859_11 - ISO/IEC 8859-11 拉丁文/泰文字母表編碼。ECI ID:“\000013”。 ISO_8859_13 - ISO/IEC 8859-13 拉丁字母表第 7 號(波羅的海沿岸)編碼。ECI ID:“\000015”。 ISO_8859_14 - ISO/IEC 8859-14 拉丁字母表 8 號(凱爾特語)編碼。ECI ID:“\000016”。 ISO_8859_15 - ISO/IEC 8859-15 拉丁字母編號 9 編碼。ECI ID:“\000017”。 ISO_8859_16 - ISO/IEC 8859-16 拉丁字母表 10 號編碼。ECI ID:“\000018”。 Shift_JIS - Shift JIS (JIS X 0208 Annex 1 + JIS X 0201) 編碼。ECI ID:“\000020”。 Win1250 - Windows 1250 Latin 2(中歐)編碼。ECI ID:“\000021”。 Win1251 - Windows 1251 西里爾文編碼。ECI ID:“\000022”。 Win1252 - Windows 1252 Latin 1 編碼。ECI ID:“\000023”。 Win1256 - Windows 1256 阿拉伯語編碼。ECI ID:“\000024”。 UTF16BE - ISO/IEC 10646 UCS-2(高位字節優先)編碼。ECI ID:“\000025”。 UTF8 - ISO/IEC 10646 UTF-8 編碼。ECI ID:“\000026”。 US_ASCII - ISO/IEC 646:1991 ISO 7 位編碼字符集編碼的國際參考版本。ECI ID:“\000027”。 Big5 - Big 5(臺灣)中文字符集編碼。ECI ID:“\000028”。 GB18030 - GB (PRC) 中文字符集編碼。ECI ID:“\000029”。 EUC_KR - 韓語字符集編碼。ECI ID:“\000030”。
有時,有些圖像的分辨率非常低,無法檢測到,原因之一是條形碼中的條被完全擦除。這個問題會使它們變得非常困難,甚至無法被任何條碼讀取軟件讀取。我們為此付出了特別的努力,并添加了一個新屬性來解決這個問題。新的公共屬性 AllowOneDWipedBarsRestoration 已添加到 QualitySettings。它允許 1D 條形碼引擎識別圖案中具有單個擦除/粘合條的條形碼。屬性在 HighQuality、MaxBarCodes 模式下默認啟用。
目前該屬性用于 Code128、GS1Code128、SCC14、EAN14、SSCC18、AustralianPosteParcel、SwissPostParcel 條形碼類型。您可以通過在從 BarCodeReader 對象讀取信息之前調用以下代碼行來使用此功能,以指示它讀取低分辨率 TIFF 圖像。
// The path to the documents directory. String dataDir = Utils.getDataDir(SingleWipedBarsInPattern.class) + "BarcodeReader/advanced_features/"; // Create an instance of BarCodeReader class // Set file path // Set the recognition type BarCodeReader reader = new BarCodeReader(dataDir + "file.tiff", DecodeType.CODE_128); // Perform read operation reader.getQualitySettings().setAllowOneDWipedBarsRestoration(true); for (BarCodeResult result : reader.readBarCodes()) { System.out.println("CodeText: " + result.getCodeText()); System.out.println("Symbology type: " + result.getCodeType());
以上便是本篇文章的所有內容,要是您還有其他關于產品方面的問題,歡迎咨詢我們,或者加入我們官方技術交流群。
歡迎下載|體驗更多Aspose產品
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn