FieldDisplayBarcode

FieldDisplayBarcode class

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

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

public class FieldDisplayBarcode : Field

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

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

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

ИмяОписание
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)Выполняет обновление поля. Выдает, если поле уже обновляется.

Примечания

Вставляет штрих-код.

Примеры

Показывает, как выполнить объединение почты по 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");

Показывает, как вставить поле DISPLAYBARCODE и установить его свойства.

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

FieldDisplayBarcode field = (FieldDisplayBarcode)builder.InsertField(FieldType.FieldDisplayBarcode, true);

// Ниже приведены четыре типа штрих-кодов, оформленных по-разному, которые могут отображаться в поле DISPLAYBARCODE.
// 1 - QR-код с произвольными цветами:
field.BarcodeType = "QR";
field.BarcodeValue = "ABC123";
field.BackgroundColor = "0xF8BD69";
field.ForegroundColor = "0xB5413B";
field.ErrorCorrectionLevel = "3";
field.ScalingFactor = "250";
field.SymbolHeight = "1000";
field.SymbolRotation = "0";

Assert.AreEqual(" DISPLAYBARCODE  ABC123 QR \\b 0xF8BD69 \\f 0xB5413B \\q 3 \\s 250 \\h 1000 \\r 0", field.GetFieldCode());
builder.Writeln();

// 2 - штрих-код EAN13, цифры которого отображаются под полосками:
field = (FieldDisplayBarcode)builder.InsertField(FieldType.FieldDisplayBarcode, true);
field.BarcodeType = "EAN13";
field.BarcodeValue = "501234567890";
field.DisplayText = true;
field.PosCodeStyle = "CASE";
field.FixCheckDigit = true;

Assert.AreEqual(" DISPLAYBARCODE  501234567890 EAN13 \\t \\p CASE \\x", field.GetFieldCode());
builder.Writeln();

// 3 - штрих-код CODE39:
field = (FieldDisplayBarcode)builder.InsertField(FieldType.FieldDisplayBarcode, true);
field.BarcodeType = "CODE39";
field.BarcodeValue = "12345ABCDE";
field.AddStartStopChar = true;

Assert.AreEqual(" DISPLAYBARCODE  12345ABCDE CODE39 \\d", field.GetFieldCode());
builder.Writeln();

// 4 - штрих-код ITF4, с указанным регистром:
field = (FieldDisplayBarcode)builder.InsertField(FieldType.FieldDisplayBarcode, true);
field.BarcodeType = "ITF14";
field.BarcodeValue = "09312345678907";
field.CaseCodeStyle = "STD";

Assert.AreEqual(" DISPLAYBARCODE  09312345678907 ITF14 \\c STD", field.GetFieldCode());

doc.Save(ArtifactsDir + "Field.DISPLAYBARCODE.docx");

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