Enum DotCodeEncodeMode
Namespace: Aspose.BarCode.Generation
Assembly: Aspose.BarCode.dll (25.1.0)
DotCode 条形码的编码模式。
public enum DotCodeEncodeMode
字段
Auto = 0
在自动模式下,CodeText 以最大数据紧凑性进行编码。 Unicode 字符在指定的 ECIEncoding 编码中重新编码,并插入 ECI 标识符。 如果发现不支持所选 ECI 编码的字符,将抛出异常。
Binary = 3
在二进制模式下,CodeText 以最大数据紧凑性进行编码。 如果发现 Unicode 字符,将抛出异常。
Bytes = 1
将编码文本作为普通字节进行编码。如果检测到任何 Unicode 字符,该字符将被编码为两个字节,低字节在前。
ECI = 4
在 ECI 模式下,整个消息在指定的 ECIEncoding 编码中重新编码,并插入 ECI 标识符。 如果发现不支持所选 ECI 编码的字符,将抛出异常。 请注意,一些旧的(2006 年之前)扫描仪可能不支持此模式。
Extended = 5
扩展模式,支持多种 ECI 模式。
最好使用 DotCodeExtCodetextBuilder 进行扩展编码文本生成。
使用 Display2DText 属性设置可见文本以移除管理字符。
ECI 标识符设定为单个斜杠和六位数字标识符 "\000026" - UTF8 ECI 标识符
ECI 标识符之后的所有 Unicode 字符将自动编码为正确的字符代码集。
ExtendedCodetext = 2
扩展模式,支持多种 ECI 模式。
最好使用 DotCodeExtCodetextBuilder 进行扩展编码文本生成。
使用 Display2DText 属性设置可见文本以移除管理字符。
ECI 标识符设定为单个斜杠和六位数字标识符 "\000026" - UTF8 ECI 标识符
ECI 标识符之后的所有 Unicode 字符将自动编码为正确的字符代码集。
示例
//自动模式与宏
var codetext = ""[)>\u001E05\u001DCodetextWithMacros05\u001E\u0004"";
using (var generator = new BarcodeGenerator(EncodeTypes.DotCode, codetext))
{
generator.Save("test.bmp");
}
//自动模式
var codetext = "犬Right狗";
using (var generator = new BarcodeGenerator(EncodeTypes.DotCode, codetext))
{
generator.Parameters.Barcode.DotCode.ECIEncoding = ECIEncodings.UTF8;
generator.Save("test.bmp");
}
//字节模式
byte[] encodedArr = { 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9 };
using (var generator = new BarcodeGenerator(EncodeTypes.DotCode))
{
generator.SetCodetext(encodedArr);
generator.Parameters.Barcode.DotCode.DotCodeEncodeMode = DotCodeEncodeMode.Binary;
generator.Save("test.bmp");
}
//扩展编码文本模式
//创建编码文本
DotCodeExtCodetextBuilder textBuilder = new DotCodeExtCodetextBuilder();
textBuilder.AddFNC1FormatIdentifier();
textBuilder.AddECICodetext(ECIEncodings.Win1251, "Will");
textBuilder.AddFNC1FormatIdentifier();
textBuilder.AddECICodetext(ECIEncodings.UTF8, "犬Right狗");
textBuilder.AddFNC3SymbolSeparator();
textBuilder.AddFNC1FormatIdentifier();
textBuilder.AddECICodetext(ECIEncodings.UTF16BE, "犬Power狗");
textBuilder.AddPlainCodetext("Plain text");
//生成编码文本
string codetext = textBuilder.GetExtendedCodetext();
//生成
using(BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.DotCode, codetext))
{
generator.Parameters.Barcode.DotCode.DotCodeEncodeMode = DotCodeEncodeMode.Extended;
generator.Save("test.bmp");
}