Word控件Aspose.Words教程:使用 Aspose.在 Java 中对条码使用 ECI 编码

news2025/1/12 16:00:55

Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。

Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.words 最新下载(qun:761297826)icon-default.png?t=N4HBhttps://www.evget.com/product/564/download

Aspose.BarCode for Java 19.6发布,其中包含新的属性和改进,这将简化您使用 ECI 编码信息读写条形码的工作,还可以读取低分辨率的 TIFF 图像。这些 API 更改和其他详细信息可以在API 文档的发行说明页面中获得。让我分享这些新功能的细节以及它们在编程中的使用。

条形码的 ECI 编码

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

低分辨率 TIFF 上的条码识别

有时,有些图像的分辨率非常低,无法检测到,原因之一是条形码中的条被完全擦除。这个问题会使它们变得非常困难,甚至无法被任何条码读取软件读取。我们为此付出了特别的努力,并添加了一个新属性来解决这个问题。新的公共属性 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());

以上便是本篇文章的所有内容,要是您还有其他关于产品方面的问题,欢迎咨询我们,或者加入我们官方技术交流群。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/558214.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEWCompactRIO 开发指南30 目标间通信

LabVIEWCompactRIO 开发指南30 目标间通信 可以从两种方法选择在FPGA VI和实时处理机上运行的VI之间传输数据的方法:前面板控制和指示器或DMAFIFO。可以使用前面板控件和指示器来传输最新值或标签以及DMA FIFO,以流式传输数据或发送消息和命令。这两种…

数据存储应用与原理剖析

存储引擎 存储引擎就是存放和读取用户数据的地方,对于持久化的存储引擎而言,数据的归宿是非易失性的存储介质(通俗意义上来说就是磁盘)所以该以什么形式组织和存储数据,这就是存储引擎设计的艺术所在这一块涉及到和操…

【历史上的今天】5 月 23 日:Java 正式发布;晶体管的共同发明者出生

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 5 月 23 日,在 2007 年的今天,盛大宣布出售所持有新浪公司股票,累计获利 7650 万美元。盛大曾于 2005 年 2 月通过公开市场…

Golang-循环变量作用域针对那些数据类型会出现问题

一、原因 在 Go 中,循环变量的作用域是整个 for 循环语句块。因此,循环变量在 for 循环语句块中的代码都是可见的。 但是,当循环变量的值被用于闭包, 协程或者使用指针类型的数据结构时,会出现一些问题。这是因为循环变量的值在…

每日一练 | 网络工程师软考真题 Day8

1、某客户端采用ping命令检测网络连接故障时,发现可以ping通127.0.0.1及本机的IP地址,但无法ping通同一网段内其他工作正常的计算机的IP地址。该客户端的故障可能是 。 A.TCP/IP协议不能正常工作 B.本机网卡不能正常工作 …

80%的人加班都是因为没搞清业务需求:小白如何做好需求调研?

做过项目的都知道,收集和明确需求并非易事,尤其是挖掘需求方详细、深层次的需求。 很多企业在做需求调研时,经常由于双方对问题描述和理解上的差异,使得需求在不断传递的过程中发生较大的偏差,结果导致最终开发出来的…

Head-Free Lightweight Semantic Segmentation with Linear Transformer 新颖的分割网络

现有的语义分割网络基本都是编码解码结构,新的语义分割网络主要都是在解码阶段添加新的不同模块,提高解码阶段特征处理能力,从而实现语义分割。而这篇文章主要是去除了解码阶段,把工作重心放在了编码阶段。它采用并行架构来利用原…

chatgpt赋能Python-python_isdigit_小数

Python isdigit 小数:如何检测字符串是否为数字? 在Python中,字符串是一种非常常见的数据类型。有时我们需要将字符串转换成数字类型,以便于进行各种计算,比如统计数据、计算平均数等等。在这种情况下,我们…

四、Spring从入门到改行

一、Spring概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器&#xff08;框架&#xff09;。 二、Spring基础程序 1、pom.xml中导入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifact…

chatgpt赋能Python-python_ip地址处理

Python IP地址处理 在网络通信中&#xff0c;IP地址是非常重要的内容。Python作为一门强大的编程语言&#xff0c;自然也能处理IP地址。本文将介绍Python处理IP地址的方法&#xff0c;并提供一些实用的例子。 IP地址的表示方式 IP地址是一个32位的二进制数&#xff0c;通常表…

chatgpt赋能Python-python_if_跳过

Python中if语句的跳过和应用 Python的if语句是编程中常用的一条条件语句&#xff0c;它允许开发者根据不同的情况&#xff0c;对代码进行不同的处理。if语句也带来了一些跳过语句&#xff0c;可以有效地帮助开发者避免不必要的操作&#xff0c;提高程序运行效率。本文将介绍Py…

toString 自定义逻辑 过滤 limit ignore 字段 ReflectionToStringBuilder ToStringBuilder

ToStringBuilder 有自己的属性,style, 也有工具方法,直接代理了ReflectionToStringBuilder // ReflectionToStringBuilder 非并发安全,需每次都new ReflectionToStringBuilder reflectionToStringBuilder new ReflectionToStringBuilder(this, org.apache.commons.lang3.build…

2023新版Spring6全新讲解-HelloSpring入门案例

Spring的入门案例 Spring6.0要求的JDK最低版本是17 我们在本课程中使用的版本是5.x版本。这个Spring5的JDK的最低要求是8 一、环境要求 JDK&#xff1a;8 Maven&#xff1a;3.6 Spring:5.3.27 开发工具&#xff1a;IDEA 2021.1.1 二、项目创建 1. 构建项目 在idea中&…

互联网医院系统的优势与挑战:现状调研分析

随着互联网技术的不断发展和普及&#xff0c;互联网医院系统也逐渐走进人们的视野。这种以互联网技术为支撑的医疗服务模式&#xff0c;可以为患者提供更加便捷、快速和高效的医疗服务&#xff0c;同时也可以缓解医院资源短缺的问题。 一、互联网医院系统的优势 方便快捷 互联…

chatgpt赋能Python-python_josn

Python Json&#xff1a;简介与应用 什么是Json&#xff1f; JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;具有良好的可读性和易于解析性&#xff0c;广泛用于Web数据传输和API交互中。 Python中的Json模块 在Python中&…

chatgpt赋能Python-python_imessage

Python iMessage – 给你的消息通讯锦上添花 作为一款风靡全球的通讯工具&#xff0c;iMessage的使用率在近年来不断攀升。iMessage的简洁易用性以及其在安全性和隐私方面的优势&#xff0c;经常使得其成为个人和商业用户的首选。而Python iMessage&#xff0c;则为这项通讯工…

Day49【动态规划】121.买卖股票的最佳时机、122.买卖股票的最佳时机II

121.买卖股票的最佳时机 力扣题目链接/文章讲解 视频讲解 动态规划五部曲&#xff01; 1、确定 dp 数组下标及值的含义 先想想本题 dp 应该怎么定义&#xff0c;别忘了之前说的&#xff0c;dp 数组的下标能够表示状态 在股票问题中&#xff0c;某个状态需要描述在某天&…

煤矿电子封条智能监管系统 TensorFlow

煤矿电子封条智能监管系统基于TensorFlowAI开源的机器学习的框架&#xff0c;煤矿电子封条智能监管系统可以对设备及人员行为和穿戴着装进行实时监测和管理。相比于其他的机器学习框架&#xff0c;Tensorflow 框架是最适用于工业部署的一个机器学习框架&#xff0c;换句话说&am…

数链科技用飞桨和文心大模型打造大宗商品数字供应链系统,提升行业透明度及标准化

大宗商品行业市场规模巨大、关系国计民生&#xff0c;它的三个核心类别——能源商品、基础原材料、农副产品均在我国经济发展进程中起着举足轻重的作用。这其中&#xff0c;大宗商品供应链的顺畅运行和稳定发展对整个产业链的运作至关重要。 然而传统大宗商品供应链普遍存在交易…

测试的正向思维和反向思维

测试的正向思维和反向思维 正向思维和反向思维是两种不同的思考方式&#xff0c;它们在决策和问题解决中起着重要的作用。 正向思维指的是以积极、乐观的态度看待事情&#xff0c;从优点出发&#xff0c;寻找解决问题的方法和途径。正向思维的人通常更容易接受挑战&#xff0c;…