Создание штрих-кода в документах Word с помощью C#

Штрих-коды представляют собой изображения в виде параллельных линий, точек или прямоугольников с закодированными данными/информацией. Профессионалы отрасли встраивают и получают доступ к информации о продуктах, отслеживают движение продуктов и следят за запасами с помощью штрих-кодов. В некоторых случаях нам может потребоваться сгенерировать и добавить штрих-коды в документы MS Word. MS Word — самая популярная и широко используемая графическая программа для обработки текстов. Он используется для создания новых документов с текстом, изображениями или графикой, написания рецензий профессионального качества, редактирования и форматирования существующих документов и т. д. Популярны форматы DOCX и DOC. форматы файлов, поддерживаемые MS Word. В этой статье мы узнаем, как программно создать штрих-код в документах Word с помощью C#.

В этой статье должны быть раскрыты следующие темы:

C# API для создания штрих-кода в документах Word

Для создания штрих-кода и добавления изображения штрих-кода в документы Word мы будем следовать двухэтапной процедуре. Во-первых, мы будем использовать API Aspose.Words для .NET для создания или загрузки документа Word, затем мы сгенерируем и добавим изображение штрих-кода в документ с помощью Aspose.BarCode для .NET API. Класс Document API Aspose.Words for .NET позволяет создать новый документ Word или загрузить существующий файл Word в приложение. Метод Save() этого класса сохраняет документ по заданному пути к файлу. Класс DocumentBuilder API предоставляет методы для создания документа. Он предоставляет различные перегруженные методы InsertImage() для вставки изображения в документ.

Aspose.BarCode for .NET API позволяет генерировать различные типы поддерживаемых штрих-кодов. Для этой цели он предоставляет класс BarcodeGenerator для генерации штрих-кода указанного EncodeType. Мы можем сохранить сгенерированное изображение штрих-кода, используя метод Save() этого класса. API также предоставляет перечисление BarCodeImageFormat для указания форматов сохранения. Мы можем считывать штрих-код с изображений с помощью класса BarCodeReader API.

Пожалуйста, загрузите библиотеки DLL API или установите их с помощью NuGet.

PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Words

Создание и добавление штрих-кода в документ Word на C#

Мы можем создать новый документ Word и добавить в документ изображение штрих-кода, выполнив следующие действия:

  1. Во-первых, создайте экземпляр класса BarcodeGenerator. Он принимает EncodeType и текст для кодирования в качестве аргументов.
  2. Затем создайте экземпляр объекта потока памяти.
  3. Затем вызовите метод Save(), чтобы сохранить изображение штрих-кода в потоке памяти.
  4. Затем создайте экземпляр класса Document.
  5. Затем инициализируйте экземпляр класса DocumentBuilder с помощью объекта Document.
  6. После этого вставьте изображение штрих-кода с помощью метода InsertImage() с объектом потока в качестве аргумента.
  7. Наконец, вызовите метод Save(). В качестве аргумента он принимает путь к выходному файлу DOCX.

В следующем примере кода показано, как создать и добавить штрих-код в новый документ Word с помощью C#.

// В этом примере кода показано, как создать и добавить изображение штрих-кода в документ Word.
// Путь к каталогу документов.
string dataDir = @"C:\Files\BarCode\";

// Создайте объект линейного штрих-кода, установите текст кода и тип символов для штрих-кода.
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567890");

// Создание потока памяти и сохранение изображения штрих-кода в поток памяти
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Создайте новый документ Word
Aspose.Words.Document doc = new Aspose.Words.Document();

// Создать построитель для объекта документа
DocumentBuilder builder = new DocumentBuilder(doc);

// Вставьте изображение штрих-кода в документ
builder.InsertImage(ms);

// Сохраните документ Word
doc.Save(dataDir + "Sample_out.docx");
Создайте и добавьте штрих-код в новый документ Word на C#.

Создайте и добавьте штрих-код в новый документ Word на C#.

Добавить штрих-код в существующий документ Word на С#

Мы можем сгенерировать и добавить изображение штрих-кода в любой существующий документ Word, выполнив следующие шаги:

  1. Во-первых, создайте экземпляр класса BarcodeGenerator с EncodeType и текстом для кодирования в качестве аргументов.
  2. Затем создайте экземпляр объекта потока памяти.
  3. Затем вызовите метод Save(), чтобы сохранить изображение штрих-кода в потоке памяти.
  4. Затем загрузите существующий документ Word, используя класс Document.
  5. Затем инициализируйте экземпляр класса DocumentBuilder с помощью объекта Document.
  6. После этого вставьте изображение штрих-кода с помощью метода InsertImage() с объектом потока и его позицией в качестве аргументов.
  7. Наконец, вызовите метод Save(). В качестве аргумента он принимает путь к выходному файлу DOCX.

В следующем примере кода показано, как создать и добавить штрих-код в существующий документ Word с помощью C#.

// В этом примере кода показано, как создать и добавить изображение штрих-кода в существующий документ Word.
// Путь к каталогу документов.
string dataDir = @"C:\Files\BarCode\";

// Создайте объект линейного штрих-кода, установите текст кода и тип символики для штрих-кода.
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Codabar, "1234567890");

// Создание потока памяти и сохранение изображения штрих-кода в поток памяти
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Создайте новый документ Word
Document doc = new Document(dataDir + "sample.docx");

// Создать построитель для объекта документа
DocumentBuilder builder = new DocumentBuilder(doc);

// Вставьте изображение штрих-кода в документ
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    0,
    RelativeVerticalPosition.Margin,
    400,
    200,
    100,
    WrapType.Square);

// Сохраните документ Word
doc.Save(dataDir + "Sample_out.docx");
Добавить штрих-код в существующий документ Word на C#.

Добавить штрих-код в существующий документ Word на C#.

Добавить QR-код в документ Word с помощью С#

Точно так же мы также можем создать изображение QR-кода и добавить его в документ Word, выполнив шаги, упомянутые ранее. Однако нам просто нужно установить EncodeType как QR или GS1QR на первом этапе. Нам также может понадобиться настроить положение изображения на шаге 6.

В следующем примере кода показано, как добавить QR-код в документ Word с помощью C#.

// В этом примере кода показано, как создать и добавить QR-код в существующий документ Word.
// Путь к каталогу документов.
string dataDir = @"C:\Files\BarCode\";

// Создайте объект линейного штрих-кода, установите текст кода и тип символики для штрих-кода.
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Создание потока памяти и сохранение изображения штрих-кода в поток памяти
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Создайте новый документ Word
Document doc = new Document(dataDir + "sample.docx");

// Создать построитель для объекта документа
DocumentBuilder builder = new DocumentBuilder(doc);

// Вставьте изображение штрих-кода в документ
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    400,
    RelativeVerticalPosition.Margin,
    -50,
    100,
    100,
    WrapType.Square);

// Сохраните документ Word
doc.Save(dataDir + "Sample_qr_out.docx");
Добавьте QR-код в документ Word с помощью C#.

Добавьте QR-код в документ Word с помощью C#.

Чтение штрих-кода из документа Word с помощью С#

Мы можем распознать любое изображение штрих-кода, доступное на любой странице документа Word, выполнив следующие шаги:

  1. Во-первых, загрузите существующий документ Word, используя класс Document.
  2. Затем получите доступ к NodeCollection из типов Shape с помощью метода GetChildNodes().
  3. Затем прокрутите все фигуры и проверьте, является ли фигура изображением.
  4. Далее сохраните изображение в поток.
  5. Затем создайте экземпляр класса BarCodeReader с потоком изображения и DecodeType в качестве аргументов.
  6. После этого вызовите метод ReadBarCodes(), чтобы получить объект BarCodeResult.
  7. Наконец, покажите информацию о штрих-коде.

В следующем примере кода показано, как считать изображение штрих-кода из документа Word с помощью C#.

// В этом примере кода показано, как считывать штрих-код из документа Word.
// Путь к каталогу документов.
string dataDir = @"C:\Files\BarCode\";

// Загрузите вордовый документ
Document wordDocument = new Document(dataDir + "sample_out.docx");

// Получить все формы
NodeCollection shapes = wordDocument.GetChildNodes(NodeType.Shape, true);

// Перебрать все фигуры
foreach (Shape shape in shapes)
{
  // Проверьте, есть ли у него изображение
  if (shape.HasImage)
  {
    // Сохраните изображение в потоке памяти
    MemoryStream imgStream = new MemoryStream();
    shape.ImageData.Save(imgStream);

    // Распознайте штрих-код из потока изображений выше
    using (BarCodeReader reader = new BarCodeReader(new Bitmap(imgStream), DecodeType.Code39Standard))
    {
      foreach (BarCodeResult result in reader.ReadBarCodes())
      {
        Console.WriteLine("Codetext found: " + result.CodeText + ", Symbology: " + result.CodeType);
      }
    }
  }
}
Codetext found: 1234567890, Symbology: Code39Standard

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы попробовать библиотеку без ограничений пробной версии.

Вывод

В этой статье мы узнали, как:

  • создать документ Word программно;
  • сгенерировать изображение штрих-кода и добавить его в документ Word;
  • создать QR-код и вставить его в документ Word;
  • прочитать изображение штрих-кода из документа Word на C#.

Кроме того, вы можете узнать больше об Aspose.BarCode for .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

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