FieldMergeBarcode

FieldMergeBarcode class

Реализует поле MERGEBARCODE.

Чтобы узнать больше, посетитеРабота с полями статья документации.

public class FieldMergeBarcode : Field

Конструкторы

ИмяОписание
FieldMergeBarcode()Конструктор по умолчанию.

Характеристики

ИмяОписание
AddStartStopChar { get; set; }Получает или задает необходимость добавления символов начала/остановки для типов штрих-кодов NW7 и CODE39. .
BackgroundColor { get; set; }Получает или задает цвет фона символа штрих-кода. Допустимые значения находятся в диапазоне [0, 0xFFFFFF] .
BarcodeType { get; set; }Получает или задает тип штрих-кода (QR и т. д.)
BarcodeValue { get; set; }Получает или задает значение штрих-кода.
CaseCodeStyle { get; set; }Получает или задает стиль Case-кода для типа штрих-кода ITF14. Допустимые значения: [STD|EXT|ADD] .
DisplayResult { get; }Получает текст, представляющий результат отображаемого поля.
DisplayText { get; set; }Получает или задает, отображать ли данные штрих-кода (текст) вместе с изображением.
End { get; }Получает узел, представляющий конец поля.
ErrorCorrectionLevel { get; set; }Получает или задает уровень исправления ошибок QR-кода. Допустимые значения: [0, 3]. .
FixCheckDigit { get; set; }Получает или задает, следует ли исправлять контрольную цифру, если она недействительна.
ForegroundColor { get; set; }Получает или задает цвет переднего плана символа штрих-кода. Допустимые значения находятся в диапазоне [0, 0xFFFFFF] .
Format { get; }ПолучаетFieldFormat объект, обеспечивающий типизированный доступ к форматированию поля.
IsDirty { get; set; }Получает или устанавливает, является ли текущий результат поля более неправильным (устаревшим) из-за других изменений, внесенных в документ.
IsLocked { get; set; }Получает или задает, заблокировано ли поле (не следует пересчитывать результат).
LocaleId { get; set; }Получает или задает LCID поля.
PosCodeStyle { get; set; }Получает или задает стиль штрих-кода торговой точки (типы штрих-кодов UPCA|UPCE|EAN13|EAN8). Допустимые значения (без учета регистра): [STD|SUP2|SUP5|CASE].
Result { get; set; }Получает или задает текст, расположенный между разделителем полей и концом поля.
ScalingFactor { get; set; }Получает или задает коэффициент масштабирования для символа. Значение указано в целых процентных пунктах, допустимые значения: [10, 1000] .
Separator { get; }Получает узел, представляющий разделитель полей. Возможнонулевой .
Start { get; }Получает узел, представляющий начало поля.
SymbolHeight { get; set; }Получает или задает высоту символа. Единицы измерения — TWIPS (1/1440 дюйма).
SymbolRotation { get; set; }Получает или задает поворот символа штрих-кода. Допустимые значения: [0, 3] .
virtual Type { get; }Получает тип поля Microsoft Word.

Методы

ИмяОписание
GetFieldCode()Возвращает текст между началом поля и разделителем поля (или концом поля, если разделителя нет). Включены как код поля, так и результат поля дочерних полей.
GetFieldCode(bool)Возвращает текст между началом поля и разделителем полей (или концом поля, если разделителя нет).
Remove()Удаляет поле из документа. Возвращает узел сразу после поля. Если конец поля является последним дочерним его родительского узла, возвращает его родительский абзац. Если поле уже удалено, возвращаетсянулевой .
Unlink()Выполняет отсоединение поля.
Update()Выполняет обновление поля. Выдает, если поле уже обновляется.
Update(bool)Выполняет обновление поля. Выдает, если поле уже обновляется.

Примечания

Почтовое объединение со штрих-кодом.

Примеры

Показывает, как выполнить слияние почты со штрих-кодами ITF14.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Вставляем поле MERGEBARCODE, которое будет принимать значения из источника данных во время слияния почты.
// Это поле преобразует все значения в столбце «MyITF14Barcode» источника данных слияния в штрих-коды ITF14.
FieldMergeBarcode field = (FieldMergeBarcode)builder.InsertField(FieldType.FieldMergeBarcode, true);
field.BarcodeType = "ITF14";
field.BarcodeValue = "MyITF14Barcode";
field.CaseCodeStyle = "STD";

Assert.AreEqual(FieldType.FieldMergeBarcode, field.Type);
Assert.AreEqual(" MERGEBARCODE  MyITF14Barcode ITF14 \\c STD", field.GetFieldCode());

// Создайте DataTable со столбцом с тем же именем, что и BarcodeValue нашего поля MERGEBARCODE.
// Слияние почты создаст новую страницу для каждой строки. Каждая страница будет содержать поле DISPLAYBARCODE,
// который отобразит штрих-код ITF14 со значением из объединенной строки.
DataTable table = new DataTable("Barcodes");
table.Columns.Add("MyITF14Barcode");
table.Rows.Add(new[] { "09312345678907" });
table.Rows.Add(new[] { "1234567891234" });

doc.MailMerge.Execute(table);

Assert.AreEqual(FieldType.FieldDisplayBarcode, doc.Range.Fields[0].Type);
Assert.AreEqual("DISPLAYBARCODE \"09312345678907\" ITF14 \\c STD",
    doc.Range.Fields[0].GetFieldCode());
Assert.AreEqual(FieldType.FieldDisplayBarcode, doc.Range.Fields[1].Type);
Assert.AreEqual("DISPLAYBARCODE \"1234567891234\" ITF14 \\c STD",
    doc.Range.Fields[1].GetFieldCode());

doc.Save(ArtifactsDir + "Field.MERGEBARCODE.ITF14.docx");

Показывает, как выполнить слияние почты со штрих-кодами CODE39.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Вставляем поле MERGEBARCODE, которое будет принимать значения из источника данных во время слияния почты.
// Это поле преобразует все значения в столбце «MyCODE39Barcode» источника данных слияния в штрих-коды CODE39.
FieldMergeBarcode field = (FieldMergeBarcode)builder.InsertField(FieldType.FieldMergeBarcode, true);
field.BarcodeType = "CODE39";
field.BarcodeValue = "MyCODE39Barcode";

// Редактируем его внешний вид, чтобы отображались символы начала/остановки.
field.AddStartStopChar = true;

Assert.AreEqual(FieldType.FieldMergeBarcode, field.Type);
Assert.AreEqual(" MERGEBARCODE  MyCODE39Barcode CODE39 \\d", field.GetFieldCode());
builder.Writeln();

// Создайте DataTable со столбцом с тем же именем, что и BarcodeValue нашего поля MERGEBARCODE.
// Слияние почты создаст новую страницу для каждой строки. Каждая страница будет содержать поле DISPLAYBARCODE,
// который отобразит штрих-код CODE39 со значением из объединенной строки.
DataTable table = new DataTable("Barcodes");
table.Columns.Add("MyCODE39Barcode");
table.Rows.Add(new[] { "12345ABCDE" });
table.Rows.Add(new[] { "67890FGHIJ" });

doc.MailMerge.Execute(table);

Assert.AreEqual(FieldType.FieldDisplayBarcode, doc.Range.Fields[0].Type);
Assert.AreEqual("DISPLAYBARCODE \"12345ABCDE\" CODE39 \\d",
    doc.Range.Fields[0].GetFieldCode());
Assert.AreEqual(FieldType.FieldDisplayBarcode, doc.Range.Fields[1].Type);
Assert.AreEqual("DISPLAYBARCODE \"67890FGHIJ\" CODE39 \\d",
    doc.Range.Fields[1].GetFieldCode());

doc.Save(ArtifactsDir + "Field.MERGEBARCODE.CODE39.docx");

Показывает, как выполнить объединение писем со штрих-кодами EAN13.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Вставляем поле MERGEBARCODE, которое будет принимать значения из источника данных во время слияния почты.
// Это поле преобразует все значения в столбце «MyEAN13Barcode» источника данных слияния в штрих-коды EAN13.
FieldMergeBarcode field = (FieldMergeBarcode)builder.InsertField(FieldType.FieldMergeBarcode, true);
field.BarcodeType = "EAN13";
field.BarcodeValue = "MyEAN13Barcode";

// Отображение числового значения штрих-кода под полосами.
field.DisplayText = true;
field.PosCodeStyle = "CASE";
field.FixCheckDigit = true;

Assert.AreEqual(FieldType.FieldMergeBarcode, field.Type);
Assert.AreEqual(" MERGEBARCODE  MyEAN13Barcode EAN13 \\t \\p CASE \\x", field.GetFieldCode());
builder.Writeln();

// Создайте DataTable со столбцом с тем же именем, что и BarcodeValue нашего поля MERGEBARCODE.
// Слияние почты создаст новую страницу для каждой строки. Каждая страница будет содержать поле DISPLAYBARCODE,
// который отобразит штрих-код EAN13 со значением из объединенной строки.
DataTable table = new DataTable("Barcodes");
table.Columns.Add("MyEAN13Barcode");
table.Rows.Add(new[] { "501234567890" });
table.Rows.Add(new[] { "123456789012" });

doc.MailMerge.Execute(table);

Assert.AreEqual(FieldType.FieldDisplayBarcode, doc.Range.Fields[0].Type);
Assert.AreEqual("DISPLAYBARCODE \"501234567890\" EAN13 \\t \\p CASE \\x",
    doc.Range.Fields[0].GetFieldCode());
Assert.AreEqual(FieldType.FieldDisplayBarcode, doc.Range.Fields[1].Type);
Assert.AreEqual("DISPLAYBARCODE \"123456789012\" EAN13 \\t \\p CASE \\x",
    doc.Range.Fields[1].GetFieldCode());

doc.Save(ArtifactsDir + "Field.MERGEBARCODE.EAN13.docx");

Показывает, как выполнить объединение почты по QR-штрих-кодам.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Вставляем поле MERGEBARCODE, которое будет принимать значения из источника данных во время слияния почты.
// Это поле преобразует все значения в столбце «MyQRCode» источника данных слияния в QR-коды.
FieldMergeBarcode field = (FieldMergeBarcode)builder.InsertField(FieldType.FieldMergeBarcode, true);
field.BarcodeType = "QR";
field.BarcodeValue = "MyQRCode";

// Применяем собственные цвета и масштабирование.
field.BackgroundColor = "0xF8BD69";
field.ForegroundColor = "0xB5413B";
field.ErrorCorrectionLevel = "3";
field.ScalingFactor = "250";
field.SymbolHeight = "1000";
field.SymbolRotation = "0";

Assert.AreEqual(FieldType.FieldMergeBarcode, field.Type);
Assert.AreEqual(" MERGEBARCODE  MyQRCode QR \\b 0xF8BD69 \\f 0xB5413B \\q 3 \\s 250 \\h 1000 \\r 0",
    field.GetFieldCode());
builder.Writeln();

// Создайте DataTable со столбцом с тем же именем, что и BarcodeValue нашего поля MERGEBARCODE.
// Слияние почты создаст новую страницу для каждой строки. Каждая страница будет содержать поле DISPLAYBARCODE,
// который отобразит QR-код со значением из объединенной строки.
DataTable table = new DataTable("Barcodes");
table.Columns.Add("MyQRCode");
table.Rows.Add(new[] { "ABC123" });
table.Rows.Add(new[] { "DEF456" });

doc.MailMerge.Execute(table);

Assert.AreEqual(FieldType.FieldDisplayBarcode, doc.Range.Fields[0].Type);
Assert.AreEqual("DISPLAYBARCODE \"ABC123\" QR \\q 3 \\s 250 \\h 1000 \\r 0 \\b 0xF8BD69 \\f 0xB5413B", 
    doc.Range.Fields[0].GetFieldCode());
Assert.AreEqual(FieldType.FieldDisplayBarcode, doc.Range.Fields[1].Type);
Assert.AreEqual("DISPLAYBARCODE \"DEF456\" QR \\q 3 \\s 250 \\h 1000 \\r 0 \\b 0xF8BD69 \\f 0xB5413B",
    doc.Range.Fields[1].GetFieldCode());

doc.Save(ArtifactsDir + "Field.MERGEBARCODE.QR.docx");

Смотрите также