VintaSoft Barcode .NET SDK Discussions
Questions, comments and suggestions concerning VintaSoft Barcode .NET SDK.
Board index < VintaSoft Barcode < VintaSoft Barcode .NET SDK Discussions
var barcodeWriter = new Vintasoft.Barcode.BarcodeWriter ();
barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.DataMatrix;
barcodeWriter.Settings.ProcessSpecialSymbols = true;
var eciCharacterValueItem = NonDataFlags.CreateECICharacter (4);
var encoding = Encoding.GetEncoding (1250); //windows-1250 is Latin-2 equivalent
var bytes = encoding.GetBytes ("ДЊ");
var encodedString = new string (bytes.Select (x => (char)x).ToArray ());
var hacekC = new DataMatrixTextValueItem (encodedString, DataMatrixEncodingMode.Text);
barcodeWriter.Settings.ValueItems = new ValueItemBase[] { new DataMatrixTextValueItem ("some leading text", DataMatrixEncodingMode.Text), eciCharacterValueItem, hacekC };
var outputImage = barcodeWriter.GetBarcodeAsBitmap ();
Second question is:new string()does not work with all values from 0 to 255 in a character array. So the code would more or like look like this:
var barcodeWriter = new Vintasoft.Barcode.BarcodeWriter ();
barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.DataMatrix;
barcodeWriter.Settings.ProcessSpecialSymbols = true;
var eciCharacterValueItem = NonDataFlags.CreateECICharacter (4);
var encoding = Encoding.GetEncoding (1250); //windows-1250 is Latin-2 equivalent
var bytes = encoding.GetBytes ("ДЊ");
var hacekC = new BinaryValueItem (bytes);
barcodeWriter.Settings.ValueItems = new ValueItemBase[] { new DataMatrixTextValueItem ("some leading text", DataMatrixEncodingMode.Text), eciCharacterValueItem, hacekC };
var outputImage = barcodeWriter.GetBarcodeAsBitmap ();
Questions are still the same.// generate
var barcodeWriter = new BarcodeWriter();
barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.DataMatrix;
var eciCharacterValueItem = NonDataFlags.CreateECICharacter(4);
var encoding = Encoding.GetEncoding(1250); //windows-1250 is Latin-2
equivalent
var bytes = encoding.GetBytes("ДЊ");
var encodedString = new string(bytes.Select(x => (char)x).ToArray());
var hacekC = new DataMatrixTextValueItem(encodedString,
DataMatrixEncodingMode.Text);
barcodeWriter.Settings.ValueItems = new ValueItemBase[] { new
DataMatrixTextValueItem("some leading text", DataMatrixEncodingMode.Text),
eciCharacterValueItem, hacekC };
var outputImage = barcodeWriter.GetBarcodeAsBitmap();
// TEST (read)
var barcodeReader = new BarcodeReader();
barcodeReader.Settings.ScanBarcodeTypes = barcodeWriter.Settings.Barcode;
IBarcodeInfo barcodeInfo = barcodeReader.ReadBarcodes(outputImage)[0];
var valueItems = barcodeInfo.ValueItems;
string value = valueItems[0].ToString();
if (((ECICharacterValueItem)valueItems[1]).ECIAssignmentNumber == 4)
{
bytes = valueItems[2].ToString().ToCharArray().Select(x =>
(byte)x).ToArray();
value += encoding.GetString(bytes);
}
var barcodeWriter = new Vintasoft.Barcode.BarcodeWriter ();
barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.DataMatrix;
barcodeWriter.Settings.ProcessSpecialSymbols = true;
var valueItems = GetEncodedValueItemsVintaSoft (dataInput);
//latin-7 iso-8859-7 according to http://msdn.microsoft.com/en-us/library/system.text.encodinginfo.getencoding%28VS.80%29.aspx
var greekEncoding = Encoding.GetEncoding (28597);
barcodeWriter.Settings.ValueItems = new ValueItemBase[] {
new TextValueItem ("Irritating to eyes and skin/"),
NonDataFlags.CreateECICharacter(9),
new BinaryValueItem (greekEncoding.GetBytes ("О•ПЃОµОёОЇО¶ОµО№ П„О± ОјО¬П„О№О± ОєО±О№ П„Ої ОґОПЃОјО±/")),
NonDataFlags.CreateECICharacter(3),
new TextValueItem ("\\\\")
};
var outputImage = barcodeWriter.GetBarcodeAsBitmap ();
As you can see there are some backslashes missing in the output. (before the ECI-characters and after the 3 at the latch to latin-1) //...
barcodeWriter.Settings.ValueItems = new ValueItemBase[] {
new TextValueItem ("Irritating to eyes and skin/\\"),
NonDataFlags.CreateECICharacter(9),
new BinaryValueItem (greekEncoding.GetBytes ("О•ПЃОµОёОЇО¶ОµО№ П„О± ОјО¬П„О№О± ОєО±О№ П„Ої ОґОПЃОјО±/\\")),
NonDataFlags.CreateECICharacter(3),
new TextValueItem ("\\\\")
};
//this also does not work as expected
barcodeWriter.Settings.ValueItems = new ValueItemBase[] {
new TextValueItem ("Irritating to eyes and skin/\\"),
NonDataFlags.CreateECICharacter(9),
new BinaryValueItem (greekEncoding.GetBytes ("О•ПЃОµОёОЇО¶ОµО№ П„О± ОјО¬П„О№О± ОєО±О№ П„Ої ОґОПЃОјО±/")),
new TextValueItem ("\\"),
NonDataFlags.CreateECICharacter(3),
new TextValueItem ("\\\\")
};
//...
My question is now: