Aspose::BarCode Namespace Reference

Namespaces

 BarCodeRecognition
 
 Common
 
 Generation
 

Classes

class  BuildVersionInfo
 Contains the current build version information. More...
 
class  Caption
 The text caption shown in the barcode image. There are two captions: CaptionBelow and CaptionAbove More...
 
class  Details_BarCodeException
 Represents the exception for creating barcode image. More...
 
class  Details_InvalidCodeException
 The Exception will be thrown when invalid characters contained in the code text. More...
 
class  ExtCodetextBuilder
 Helper class for automatic codetext generation of the Extended Codetext Mode More...
 
class  License
 Provides methods to license the component. More...
 
class  MarginsF
 Specifies the margins of a barcode image. More...
 
class  Metered
 Provides methods to set metered key. More...
 
class  QrExtCodetextBuilder
 
class  Resolution
 The resolution information of the barcode image More...
 

Typedefs

using BarCodeException = System::ExceptionWrapper< Details_BarCodeException >
 
using InvalidCodeException = System::ExceptionWrapper< Details_InvalidCodeException >
 

Enumerations

enum  CustomerInformationInterpretingType { CustomerInformationInterpretingType::CTable, CustomerInformationInterpretingType::NTable, CustomerInformationInterpretingType::Other }
 Defines the interpreting type (CTable, NTable or Other) of customer information for AustralianPost BarCode. More...
 
enum  AztecSymbolMode { AztecSymbolMode::Auto, AztecSymbolMode::Compact, AztecSymbolMode::FullRange, AztecSymbolMode::Rune }
 Specifies the Aztec symbol mode. More...
 
enum  BarCodeImageFormat {
  BarCodeImageFormat::Bmp, BarCodeImageFormat::Gif, BarCodeImageFormat::Jpeg, BarCodeImageFormat::Png,
  BarCodeImageFormat::Tiff, BarCodeImageFormat::TiffInCmyk, BarCodeImageFormat::Svg
}
 Specifies the file format of the image. More...
 
enum  BorderDashStyle {
  BorderDashStyle::Solid = 0, BorderDashStyle::Dash = 1, BorderDashStyle::Dot = 2, BorderDashStyle::DashDot = 3,
  BorderDashStyle::DashDotDot = 4
}
 Specifies the style of dashed border lines. More...
 
enum  CodabarChecksumMode { CodabarChecksumMode::Mod10, CodabarChecksumMode::Mod16 }
 Specifies the checksum algorithm for Codabar More...
 
enum  CodabarSymbol : int16_t { CodabarSymbol::A = static_cast<int16_t>((int16_t)u'A'), CodabarSymbol::B = static_cast<int16_t>((int16_t)u'B'), CodabarSymbol::C = static_cast<int16_t>((int16_t)u'C'), CodabarSymbol::D = static_cast<int16_t>((int16_t)u'D') }
 Specifies the start or stop symbol of the Codabar barcode specification. More...
 
enum  DataMatrixEccType {
  DataMatrixEccType::EccAuto, DataMatrixEccType::Ecc000, DataMatrixEccType::Ecc050, DataMatrixEccType::Ecc080,
  DataMatrixEccType::Ecc100, DataMatrixEccType::Ecc140, DataMatrixEccType::Ecc200
}
 Specify the type of the ECC to encode. More...
 
enum  DataMatrixEncodeMode {
  DataMatrixEncodeMode::Auto = 0, DataMatrixEncodeMode::ASCII = 1, DataMatrixEncodeMode::Full = 6, DataMatrixEncodeMode::Custom = 7,
  DataMatrixEncodeMode::C40 = 8, DataMatrixEncodeMode::Text = 9
}
 DataMatrix encoder's encoding mode, default to Auto More...
 
enum  ECIEncodings {
  ECIEncodings::ISO_8859_1 = 3, ECIEncodings::ISO_8859_2 = 4, ECIEncodings::ISO_8859_3 = 5, ECIEncodings::ISO_8859_4 = 6,
  ECIEncodings::ISO_8859_5 = 7, ECIEncodings::ISO_8859_6 = 8, ECIEncodings::ISO_8859_7 = 9, ECIEncodings::ISO_8859_8 = 10,
  ECIEncodings::ISO_8859_9 = 11, ECIEncodings::ISO_8859_10 = 12, ECIEncodings::ISO_8859_11 = 13, ECIEncodings::ISO_8859_13 = 15,
  ECIEncodings::ISO_8859_14 = 16, ECIEncodings::ISO_8859_15 = 17, ECIEncodings::ISO_8859_16 = 18, ECIEncodings::Shift_JIS = 20,
  ECIEncodings::Win1250 = 21, ECIEncodings::Win1251 = 22, ECIEncodings::Win1252 = 23, ECIEncodings::Win1256 = 24,
  ECIEncodings::UTF16BE = 25, ECIEncodings::UTF8 = 26, ECIEncodings::US_ASCII = 27, ECIEncodings::Big5 = 28,
  ECIEncodings::GB18030 = 29, ECIEncodings::EUC_KR = 30
}
 
enum  EnableChecksum { EnableChecksum::Default, EnableChecksum::Yes, EnableChecksum::No }
 
enum  ImageQualityMode { ImageQualityMode::Default, ImageQualityMode::AntiAlias }
 Specifies the quality of the created barcode image. Only applicable to Jpeg format, such as save as .jpg files More...
 
enum  ITF14BorderType {
  ITF14BorderType::None, ITF14BorderType::Frame, ITF14BorderType::Bar, ITF14BorderType::FrameOut,
  ITF14BorderType::BarOut
}
 ITF14 border type of barcode More...
 
enum  Pdf417CompactionMode { Pdf417CompactionMode::Auto = 0, Pdf417CompactionMode::Text = 1, Pdf417CompactionMode::Numeric = 2, Pdf417CompactionMode::Binary = 3 }
 Pdf417 barcode compaction mode More...
 
enum  Pdf417ErrorLevel {
  Pdf417ErrorLevel::Level0 = 0, Pdf417ErrorLevel::Level1, Pdf417ErrorLevel::Level2, Pdf417ErrorLevel::Level3,
  Pdf417ErrorLevel::Level4, Pdf417ErrorLevel::Level5, Pdf417ErrorLevel::Level6, Pdf417ErrorLevel::Level7,
  Pdf417ErrorLevel::Level8
}
 pdf417 barcode's error correction level, from level 0 to level 9, level 0 means no error correction, level 9 means best error correction More...
 
enum  QREncodeMode {
  QREncodeMode::Auto = 0, QREncodeMode::Bytes = 1, QREncodeMode::Utf8BOM = 2, QREncodeMode::Utf16BEBOM = 3,
  QREncodeMode::ECIEncoding = 4, QREncodeMode::ExtendedCodetext = 5
}
 Encoding mode for QR barcodes. It is recommended to Use Auto with CodeTextEncoding = Encoding.UTF8 for Latin symbols or digits and Utf8BOM for Unicode symbols. More...
 
enum  QREncodeType { QREncodeType::Auto = 0, QREncodeType::ForceQR = 1, QREncodeType::ForceMicroQR = 2 }
 QR / MicroQR selector mode. Select ForceQR for standard QR symbols, Auto for MicroQR. ForceMicroQR is used for strongly MicroQR symbol generation if it is possible. More...
 
enum  QRErrorLevel { QRErrorLevel::LevelL = 0, QRErrorLevel::LevelM = 1, QRErrorLevel::LevelQ = 2, QRErrorLevel::LevelH = 3 }
 Level of Reed-Solomon error correction. From low to high: LevelL, LevelM, LevelQ, LevelH. More...
 
enum  QRVersion {
  QRVersion::Auto = 0, QRVersion::Version01 = 1, QRVersion::Version02 = 2, QRVersion::Version03 = 3,
  QRVersion::Version04 = 4, QRVersion::Version05 = 5, QRVersion::Version06 = 6, QRVersion::Version07 = 7,
  QRVersion::Version08 = 8, QRVersion::Version09 = 9, QRVersion::Version10 = 10, QRVersion::Version11 = 11,
  QRVersion::Version12 = 12, QRVersion::Version13 = 13, QRVersion::Version14 = 14, QRVersion::Version15 = 15,
  QRVersion::Version16 = 16, QRVersion::Version17 = 17, QRVersion::Version18 = 18, QRVersion::Version19 = 19,
  QRVersion::Version20 = 20, QRVersion::Version21 = 21, QRVersion::Version22 = 22, QRVersion::Version23 = 23,
  QRVersion::Version24 = 24, QRVersion::Version25 = 25, QRVersion::Version26 = 26, QRVersion::Version27 = 27,
  QRVersion::Version28 = 28, QRVersion::Version29 = 29, QRVersion::Version30 = 30, QRVersion::Version31 = 31,
  QRVersion::Version32 = 32, QRVersion::Version33 = 33, QRVersion::Version34 = 34, QRVersion::Version35 = 35,
  QRVersion::Version36 = 36, QRVersion::Version37 = 37, QRVersion::Version38 = 38, QRVersion::Version39 = 39,
  QRVersion::Version40 = 40, QRVersion::VersionM1 = 101, QRVersion::VersionM2 = 102, QRVersion::VersionM3 = 103,
  QRVersion::VersionM4 = 104
}
 Version of QR Code. From Version1 to Version40 for QR code and from M1 to M4 for MicroQr. More...
 
enum  ResolutionMode { ResolutionMode::Graphics, ResolutionMode::Customized, ResolutionMode::Printer }
 Specifies the resolution mode used to create barcode image. More...
 
enum  RotationDirection { RotationDirection::Clockwise = 0, RotationDirection::AntiClockwise = 1 }
 Rotation Direction, must be the following: Clockwise or AntiClockwise More...
 

Functions

bool operator== (System::SharedPtr< Resolution > left, System::SharedPtr< Resolution > right)
 
bool operator!= (System::SharedPtr< Resolution > left, System::SharedPtr< Resolution > right)
 

Typedef Documentation

◆ BarCodeException

◆ InvalidCodeException

Enumeration Type Documentation

◆ AztecSymbolMode

Specifies the Aztec symbol mode.

This sample shows how to change Aztec Symbol mode and save a BarCode image.

[C#]
using(Aspose.BarCode.BarCodeBuilder builder = new Aspose.BarCode.BarCodeBuilder())
{
builder.EncodeType = Aspose.BarCode.EncodeTypes.Aztec;
builder.CodeText = "125";
builder.AztecSymbolMode = Aspose.BarCode.AztecSymbolMode.Rune;
builder.Save("test.bmp");
}
[VB.NET]
Using builder As Aspose.BarCode.BarCodeBuilder = new Aspose.BarCode.BarCodeBuilder()
builder.EncodeType = Aspose.BarCode.EncodeTypes.Aztec
builder.CodeText = "125"
builder.AztecSymbolMode = Aspose.BarCode.AztecSymbolMode.Rune
builder.Save("test.bmp")
End Using
Enumerator
Auto 

Specifies to automatically pick up the best symbol (Compact or Full-range) for Aztec. This is default value.

Compact 

Specifies the Compact symbol for Aztec. Aztec Compact symbol permits only 1, 2, 3 or 4 layers.

FullRange 

Specifies the Full-range symbol for Aztec. Aztec Full-range symbol permits from 1 to 32 layers.

Rune 

Specifies the Rune symbol for Aztec. Aztec Runes are a series of small but distinct machine-readable marks. It permits only number value from 0 to 255.

◆ BarCodeImageFormat

Specifies the file format of the image.

Enumerator
Bmp 

Specifies the bitmap (BMP) image format.

Gif 

Specifies the Graphics Interchange Format (GIF) image format.

Jpeg 

Specifies the Joint Photographic Experts Group (JPEG) image format.

Png 

Specifies the W3C Portable Network Graphics (PNG) image format.

Tiff 

Specifies the Tagged Image File Format (TIFF) image format.

TiffInCmyk 

Specifies the Tagged Image File Format (TIFF) image format in CMYK color model.

Svg 

Specifies the Scalable Vector Graphics (SVG) image format.

◆ BorderDashStyle

Specifies the style of dashed border lines.

Enumerator
Solid 

Specifies a solid line.

Dash 

Specifies a line consisting of dashes.

Dot 

Specifies a line consisting of dots.

DashDot 

Specifies a line consisting of a repeating pattern of dash-dot.

DashDotDot 

Specifies a line consisting of a repeating pattern of dash-dot-dot.

◆ CodabarChecksumMode

Specifies the checksum algorithm for Codabar

Enumerator
Mod10 

Specifies Mod 10 algorithm for Codabar.

Mod16 

Specifies Mod 16 algorithm for Codabar (recomended AIIM).

◆ CodabarSymbol

enum Aspose::BarCode::CodabarSymbol : int16_t
strong

Specifies the start or stop symbol of the Codabar barcode specification.

Enumerator

Specifies character A as the start or stop symbol of the Codabar barcode specification.

Specifies character B as the start or stop symbol of the Codabar barcode specification.

Specifies character C as the start or stop symbol of the Codabar barcode specification.

Specifies character D as the start or stop symbol of the Codabar barcode specification.

◆ CustomerInformationInterpretingType

Defines the interpreting type (CTable, NTable or Other) of customer information for AustralianPost BarCode.

Enumerator
CTable 

Use CTable to interpret the customer information. Allows A..Z, a..z, 1..9, space and # sing.

This sample shows how to generate and recognize Australia Post barcode with CTable Interpreting Type.

[C#]
using (BarCodeBuilder builder = new BarCodeBuilder())
{
builder.SymbologyType = Symbology.AustraliaPost;
builder.CustomerInformationInterpretingType = CustomerInformationInterpretingType.CTable;
builder.CodeText = "5912345678ABCde";
using (Bitmap image = builder.GenerateBarCodeImage())
using (BarCodeReader r = new BarCodeReader(image, DecodeType.AustraliaPost))
{
r.CustomerInformationInterpretingType = CustomerInformationInterpretingType.CTable;
while (r.Read())
{
Console.WriteLine("BarCode Type: " + r.GetCodeType());
Console.WriteLine("BarCode CodeText: " + r.GetCodeText());
}
}
}
[VB.NET]
Using builder As BarCodeBuilder = New BarCodeBuilder()
builder.SymbologyType = Symbology.AustraliaPost
builder.CodeText = "5912345678ABCde"
Using image As Bitmap = builder.GenerateBarCodeImage()
Using reader As BarCodeReader = New BarCodeReader(image, DecodeType.AustraliaPost)
While r.Read()
Console.WriteLine("BarCode Type: " + r.GetReadType())
Console.WriteLine("BarCode CodeText: " + r.GetCodeText())
End While
End Using
End Using
End Using
NTable 

Use NTable to interpret the customer information. Allows digits.

This sample shows how to generate and recognize Australia Post barcode with NTable Interpreting Type.

[C#]
using (BarCodeBuilder builder = new BarCodeBuilder())
{
builder.SymbologyType = Symbology.AustraliaPost;
builder.CustomerInformationInterpretingType = CustomerInformationInterpretingType.NTable;
builder.CodeText = "59123456781234567";
using (Bitmap image = builder.GenerateBarCodeImage())
using (BarCodeReader r = new BarCodeReader(image, DecodeType.AustraliaPost))
{
r.CustomerInformationInterpretingType = CustomerInformationInterpretingType.NTable;
while (r.Read())
{
Console.WriteLine("BarCode Type: " + r.GetCodeType());
Console.WriteLine("BarCode CodeText: " + r.GetCodeText());
}
}
}
[VB.NET]
Using builder As BarCodeBuilder = New BarCodeBuilder()
builder.SymbologyType = Symbology.AustraliaPost
builder.CodeText = "59123456781234567"
Using image As Bitmap = builder.GenerateBarCodeImage()
Using reader As BarCodeReader = New BarCodeReader(image, DecodeType.AustraliaPost)
While r.Read()
Console.WriteLine("BarCode Type: " + r.GetReadType())
Console.WriteLine("BarCode CodeText: " + r.GetCodeText())
End While
End Using
End Using
End Using
Other 

Do not interpret the customer information. Allows 0, 1, 2 or 3 symbol only.

This sample shows how to generate and recognize Australia Post barcode without Customer Interpreting Type.

[C#]
using (BarCodeBuilder builder = new BarCodeBuilder())
{
builder.SymbologyType = Symbology.AustraliaPost;
builder.CustomerInformationInterpretingType = CustomerInformationInterpretingType.Other;
builder.CodeText = "59123456780123012301230123";
using (Bitmap image = builder.GenerateBarCodeImage())
using (BarCodeReader r = new BarCodeReader(image, DecodeType.AustraliaPost))
{
r.CustomerInformationInterpretingType = CustomerInformationInterpretingType.Other;
while (r.Read())
{
Console.WriteLine("BarCode Type: " + r.GetCodeType());
Console.WriteLine("BarCode CodeText: " + r.GetCodeText());
}
}
}
[VB.NET]
Using builder As BarCodeBuilder = New BarCodeBuilder()
builder.SymbologyType = Symbology.AustraliaPost
builder.CodeText = "59123456780123012301230123"
Using image As Bitmap = builder.GenerateBarCodeImage()
Using reader As BarCodeReader = New BarCodeReader(image, DecodeType.AustraliaPost)
While r.Read()
Console.WriteLine("BarCode Type: " + r.GetReadType())
Console.WriteLine("BarCode CodeText: " + r.GetCodeText())
End While
End Using
End Using
End Using

◆ DataMatrixEccType

Specify the type of the ECC to encode.

Enumerator
EccAuto 

Specifies that encoded Ecc type is defined by default Reed-Solomon error correction or ECC 200.

Ecc000 

Specifies that encoded Ecc type is defined ECC 000.

Ecc050 

Specifies that encoded Ecc type is defined ECC 050.

Ecc080 

Specifies that encoded Ecc type is defined ECC 080.

Ecc100 

Specifies that encoded Ecc type is defined ECC 100.

Ecc140 

Specifies that encoded Ecc type is defined ECC 140.

Ecc200 

Specifies that encoded Ecc type is defined ECC 200. Recommended to use.

◆ DataMatrixEncodeMode

DataMatrix encoder's encoding mode, default to Auto

Enumerator
Auto 

Automatically pick up the best encode mode for Datamatrix encoding

ASCII 

Encodes one alphanumeric or two numeric characters per byte

Full 

Encode 8 bit values

Custom 

Encode with the encoding specified in BarCodeBuilder.CodeTextEncoding

C40 

Uses C40 encoding. Encodes Upper-case alphanumeric, Lower case and special characters

Text 

Uses Text encoding. Encodes Lower-case alphanumeric, Upper case and special characters

◆ ECIEncodings

Extended Channel Interpretation Identifiers. It is used to tell the barcode reader details about the used references for encoding the data in the symbol. Current implementation consists all well known charset encodings. Currently, it is used only for QR 2D barcode.

This sample shows how to use ECI encoding and save a BarCode image.

[C#]
using(Aspose.BarCode.BarCodeBuilder builder = new Aspose.BarCode.BarCodeBuilder())
{
builder.EncodeType = Aspose.BarCode.EncodeTypes.QR;
builder.CodeText = "12345TEXT";
builder.QREncodeMode = QREncodeMode.ECIEncoding;
builder.QREncodeType = QREncodeType.ForceQR;
builder.ECIEncoding = ECIEncodings.UTF8;
builder.Save("test.bmp");
}
[VB.NET]
Using builder As Aspose.BarCode.BarCodeBuilder = new Aspose.BarCode.BarCodeBuilder()
builder.EncodeType = Aspose.BarCode.EncodeTypes.QR
builder.CodeText = "12345TEXT"
builder.QREncodeMode = QREncodeMode.ECIEncoding;
builder.QREncodeType = QREncodeType.ForceQR
builder.ECIEncoding = ECIEncodings.UTF8
builder.Save("test.bmp")
End Using
Enumerator
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"

◆ EnableChecksum

Enable checksum during generation for 1D barcodes.

Default is treated as Yes for symbologies which must contain checksum, as No where checksum only possible.

Checksum never used: Codabar

Checksum is possible: Code39 Standard/Extended, Standard2of5, Interleaved2of5, Matrix2of5, ItalianPost25, DeutschePostIdentcode, DeutschePostLeitcode, VIN

Checksum always used: Rest symbologies

Enumerator
Default 

If checksum is required by the specification - it will be attached.

Yes 

Always use checksum if possible.

No 

Do not use checksum.

◆ ImageQualityMode

Specifies the quality of the created barcode image. Only applicable to Jpeg format, such as save as .jpg files

Enumerator
Default 

Specifies No anti-aliasing image rendering.

AntiAlias 

Specifies Anti-aliased image rendering. Much better quality due to anti-aliasing, but at a higher performance cost.

◆ ITF14BorderType

ITF14 border type of barcode

Enumerator
None 

No border enclosing the barcode

Frame 

Frame enclosing the barcode

Bar 

Two horizontal bars enclosing the barcode

FrameOut 

Frame enclosing the barcode. It drawn outside of the barcode, and does not affect the height

BarOut 

Two horizontal bars enclosing the barcode. It drawn outside of the barcode, and does not affect the height

◆ Pdf417CompactionMode

Pdf417 barcode compaction mode

Enumerator
Auto 

auto detect compaction mode

Text 

text compaction

Numeric 

numeric compaction mode

Binary 

binary compaction mode

◆ Pdf417ErrorLevel

pdf417 barcode's error correction level, from level 0 to level 9, level 0 means no error correction, level 9 means best error correction

Enumerator
Level0 

level = 0.

Level1 

level = 1.

Level2 

level = 2.

Level3 

level = 3.

Level4 

level = 4.

Level5 

level = 5.

Level6 

level = 6.

Level7 

level = 7.

Level8 

level = 8.

◆ QREncodeMode

Encoding mode for QR barcodes. It is recommended to Use Auto with CodeTextEncoding = Encoding.UTF8 for Latin symbols or digits and Utf8BOM for Unicode symbols.

Enumerator
Auto 

Encode codetext as is non-Unicode charset. If there is any Unicode character, the codetext will be encoded with value which is set in CodeTextEncoding.

Bytes 

Encode codetext as plain bytes. If it detects any Unicode character, the character will be encoded as two bytes, lower byte first.

Utf8BOM 

Encode codetext with UTF8 encoding with first ByteOfMark character.

Utf16BEBOM 

Encode codetext with UTF8 encoding with first ByteOfMark character. It can be problems with some barcode scanners.

ECIEncoding 

Encode codetext with value set in the ECIEncoding property. It can be problems with some old (pre 2006) barcode scanners.

This sample shows how to use ECI encoding and save a BarCode image.

[C#]
using(Aspose.BarCode.BarCodeBuilder builder = new Aspose.BarCode.BarCodeBuilder())
{
builder.EncodeType = Aspose.BarCode.EncodeTypes.QR;
builder.CodeText = "12345TEXT";
builder.QREncodeMode = QREncodeMode.ECIEncoding;
builder.QREncodeType = QREncodeType.ForceQR;
builder.ECIEncoding = ECIEncodings.UTF8;
builder.Save("test.bmp");
}
[VB.NET]
Using builder As Aspose.BarCode.BarCodeBuilder = new Aspose.BarCode.BarCodeBuilder()
builder.EncodeType = Aspose.BarCode.EncodeTypes.QR
builder.CodeText = "12345TEXT"
builder.QREncodeMode = QREncodeMode.ECIEncoding;
builder.QREncodeType = QREncodeType.ForceQR
builder.ECIEncoding = ECIEncodings.UTF8
builder.Save("test.bmp")
End Using
ExtendedCodetext 

Extended Channel mode which supports FNC1 first position, FNC1 second position and multi ECI modes.

It is better to use QrExtCodetextBuilder for extended codetext generation.

Use Display2DText property to set visible text to removing managing characters.

Encoding Principles:

All symbols "\" must be doubled "\\" in the codetext.

FNC1 in first position is set in codetext as as "&lt;FNC1&gt;"

FNC1 in second position is set in codetext as as "&lt;FNC1(value)&gt;". The value must be single symbols (a-z, A-Z) or digits from 0 to 99.

Group Separator for FNC1 modes is set as 0x1D character '\u001D'

If you need to insert "&lt;FNC1&gt;" string into barcode write it as "&lt;\FNC1&gt;"

ECI identifiers are set as single slash and six digits identifier "\000026" - UTF8 ECI identifier

TO disable current ECI mode and convert to default JIS8 mode zero mode ECI indetifier is set. "\000000"

All unicode characters after ECI identifier are automatically encoded into correct character codeset.

This sample shows how to use FNC1 first position in Extended Mode.

[C#]
//create codetext
QrExtCodetextBuilder lTextBuilder = new QrExtCodetextBuilder();
lTextBuilder.AddFNC1FirstPosition();
lTextBuilder.AddPlainCodetext("000%89%%0");
lTextBuilder.AddFNC1GroupSeparator();
lTextBuilder.AddPlainCodetext("12345<FNC1>");
//generate codetext
string lCodetext = lTextBuilder.GetExtendedCodetext();
//generate
using(BarCodeBuilder builder = new BarCodeBuilder())
{
builder.SymbologyType = Symbology.QR;
builder.QREncodeMode = QREncodeMode.ExtendedCodetext;
builder.QRErrorLevel = QRErrorLevel.LevelL;
builder.CodeText = lCodetext;
builder.Display2DText = "My Text";
builder.Save("test.bmp");
}

This sample shows how to use FNC1 second position in Extended Mode.

[C#]
//create codetext
QrExtCodetextBuilder lTextBuilder = new QrExtCodetextBuilder();
TextBuilder.AddFNC1SecondPosition("12");
TextBuilder.AddPlainCodetext("TRUE3456");
//generate codetext
string lCodetext = lTextBuilder.GetExtendedCodetext();
//generate
using(BarCodeBuilder builder = new BarCodeBuilder())
{
builder.SymbologyType = Symbology.QR;
builder.QREncodeMode = QREncodeMode.ExtendedCodetext;
builder.QRErrorLevel = QRErrorLevel.LevelL;
builder.CodeText = lCodetext;
builder.Display2DText = "My Text";
builder.Save("test.bmp");
}

This sample shows how to use multi ECI mode in Extended Mode.

[C#]
//create codetext
QrExtCodetextBuilder lTextBuilder = new QrExtCodetextBuilder();
TextBuilder.AddECICodetext(ECIEncodings.Win1251, "Will");
TextBuilder.AddECICodetext(ECIEncodings.UTF8, "Right");
TextBuilder.AddECICodetext(ECIEncodings.UTF16BE, "Power");
TextBuilder.AddPlainCodetext(@"t\e\\st");
<br>
//generate codetext
string lCodetext = lTextBuilder.GetExtendedCodetext();
//generate
using (BarCodeBuilder builder = new BarCodeBuilder())
{
builder.SymbologyType = Symbology.QR;
builder.QREncodeMode = QREncodeMode.ExtendedCodetext;
builder.QRErrorLevel = QRErrorLevel.LevelL;
builder.CodeText = lCodetext;
builder.Display2DText = "My Text";
builder.Save("test.bmp");
}

◆ QREncodeType

QR / MicroQR selector mode. Select ForceQR for standard QR symbols, Auto for MicroQR. ForceMicroQR is used for strongly MicroQR symbol generation if it is possible.

Enumerator
Auto 

Mode starts barcode version negotiation from MicroQR V1

ForceQR 

Mode starts barcode version negotiation from QR V1

ForceMicroQR 

Mode starts barcode version negotiation from from MicroQR V1 to V4. If data cannot be encoded into MicroQR, exception is thrown.

◆ QRErrorLevel

Level of Reed-Solomon error correction. From low to high: LevelL, LevelM, LevelQ, LevelH.

Enumerator
LevelL 

Allows recovery of 7% of the code text

LevelM 

Allows recovery of 15% of the code text

LevelQ 

Allows recovery of 25% of the code text

LevelH 

Allows recovery of 30% of the code text

◆ QRVersion

Version of QR Code. From Version1 to Version40 for QR code and from M1 to M4 for MicroQr.

Enumerator
Auto 

Specifies to automatically pick up the best version for QR. This is default value.

Version01 

Specifies version 1 with 21 x 21 modules.

Version02 

Specifies version 2 with 25 x 25 modules.

Version03 

Specifies version 3 with 29 x 29 modules.

Version04 

Specifies version 4 with 33 x 33 modules.

Version05 

Specifies version 5 with 37 x 37 modules.

Version06 

Specifies version 6 with 41 x 41 modules.

Version07 

Specifies version 7 with 45 x 45 modules.

Version08 

Specifies version 8 with 49 x 49 modules.

Version09 

Specifies version 9 with 53 x 53 modules.

Version10 

Specifies version 10 with 57 x 57 modules.

Version11 

Specifies version 11 with 61 x 61 modules.

Version12 

Specifies version 12 with 65 x 65 modules.

Version13 

Specifies version 13 with 69 x 69 modules.

Version14 

Specifies version 14 with 73 x 73 modules.

Version15 

Specifies version 15 with 77 x 77 modules.

Version16 

Specifies version 16 with 81 x 81 modules.

Version17 

Specifies version 17 with 85 x 85 modules.

Version18 

Specifies version 18 with 89 x 89 modules.

Version19 

Specifies version 19 with 93 x 93 modules.

Version20 

Specifies version 20 with 97 x 97 modules.

Version21 

Specifies version 21 with 101 x 101 modules.

Version22 

Specifies version 22 with 105 x 105 modules.

Version23 

Specifies version 23 with 109 x 109 modules.

Version24 

Specifies version 24 with 113 x 113 modules.

Version25 

Specifies version 25 with 117 x 117 modules.

Version26 

Specifies version 26 with 121 x 121 modules.

Version27 

Specifies version 27 with 125 x 125 modules.

Version28 

Specifies version 28 with 129 x 129 modules.

Version29 

Specifies version 29 with 133 x 133 modules.

Version30 

Specifies version 30 with 137 x 137 modules.

Version31 

Specifies version 31 with 141 x 141 modules.

Version32 

Specifies version 32 with 145 x 145 modules.

Version33 

Specifies version 33 with 149 x 149 modules.

Version34 

Specifies version 34 with 153 x 153 modules.

Version35 

Specifies version 35 with 157 x 157 modules.

Version36 

Specifies version 36 with 161 x 161 modules.

Version37 

Specifies version 37 with 165 x 165 modules.

Version38 

Specifies version 38 with 169 x 169 modules.

Version39 

Specifies version 39 with 173 x 173 modules.

Version40 

Specifies version 40 with 177 x 177 modules.

VersionM1 

Specifies version M1 for Micro QR with 11 x 11 modules.

VersionM2 

Specifies version M2 for Micro QR with 13 x 13 modules.

VersionM3 

Specifies version M3 for Micro QR with 15 x 15 modules.

VersionM4 

Specifies version M4 for Micro QR with 17 x 17 modules.

◆ ResolutionMode

Specifies the resolution mode used to create barcode image.

Enumerator
Graphics 

Apply the resolution of the barcode image according to the resolution of the specified Graphics object.

Customized 

Apply the resolution of the barcode image according to the user defined DpiX and DpiY properties.

Printer 

Apply the resolution of the barcode image according to the resolution of the specified printer.

◆ RotationDirection

Rotation Direction, must be the following: Clockwise or AntiClockwise

Enumerator
Clockwise 

clock wise rotate

AntiClockwise 

anti clockwise rotate

Function Documentation

◆ operator!=()

bool Aspose::BarCode::operator!= ( System::SharedPtr< Resolution left,
System::SharedPtr< Resolution right 
)

◆ operator==()

bool Aspose::BarCode::operator== ( System::SharedPtr< Resolution left,
System::SharedPtr< Resolution right 
)