Штрих-коды представляют собой изображения в виде параллельных линий, точек или прямоугольников с закодированными данными/информацией. Профессионалы отрасли встраивают и получают доступ к информации о продуктах, отслеживают движение продуктов и следят за запасами с помощью штрих-кодов. В некоторых случаях нам может потребоваться сгенерировать и добавить штрих-коды в документы MS Word. MS Word — самая популярная и широко используемая графическая программа для обработки текстов. Он используется для создания новых документов с текстом, изображениями или графикой, написания рецензий профессионального качества, редактирования и форматирования существующих документов и т. д. Популярны форматы DOCX и DOC. форматы файлов, поддерживаемые MS Word. В этой статье мы узнаем, как программно создать штрих-код в документах Word с помощью C#.
В этой статье должны быть раскрыты следующие темы:
- C# API для создания штрих-кода в документах Word
- Создание и добавление штрих-кода в документ Word
- Добавить штрих-код в существующий документ Word
- Добавить QR-код в документ Word
- Чтение штрих-кода из документа Word
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 и добавить в документ изображение штрих-кода, выполнив следующие действия:
- Во-первых, создайте экземпляр класса BarcodeGenerator. Он принимает EncodeType и текст для кодирования в качестве аргументов.
- Затем создайте экземпляр объекта потока памяти.
- Затем вызовите метод Save(), чтобы сохранить изображение штрих-кода в потоке памяти.
- Затем создайте экземпляр класса Document.
- Затем инициализируйте экземпляр класса DocumentBuilder с помощью объекта Document.
- После этого вставьте изображение штрих-кода с помощью метода InsertImage() с объектом потока в качестве аргумента.
- Наконец, вызовите метод 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 на С#
Мы можем сгенерировать и добавить изображение штрих-кода в любой существующий документ Word, выполнив следующие шаги:
- Во-первых, создайте экземпляр класса BarcodeGenerator с EncodeType и текстом для кодирования в качестве аргументов.
- Затем создайте экземпляр объекта потока памяти.
- Затем вызовите метод Save(), чтобы сохранить изображение штрих-кода в потоке памяти.
- Затем загрузите существующий документ Word, используя класс Document.
- Затем инициализируйте экземпляр класса DocumentBuilder с помощью объекта Document.
- После этого вставьте изображение штрих-кода с помощью метода InsertImage() с объектом потока и его позицией в качестве аргументов.
- Наконец, вызовите метод 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");
Добавить 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");
Чтение штрих-кода из документа Word с помощью С#
Мы можем распознать любое изображение штрих-кода, доступное на любой странице документа Word, выполнив следующие шаги:
- Во-первых, загрузите существующий документ Word, используя класс Document.
- Затем получите доступ к NodeCollection из типов Shape с помощью метода GetChildNodes().
- Затем прокрутите все фигуры и проверьте, является ли фигура изображением.
- Далее сохраните изображение в поток.
- Затем создайте экземпляр класса BarCodeReader с потоком изображения и DecodeType в качестве аргументов.
- После этого вызовите метод ReadBarCodes(), чтобы получить объект BarCodeResult.
- Наконец, покажите информацию о штрих-коде.
В следующем примере кода показано, как считать изображение штрих-кода из документа 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, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.