PDF — самый популярный формат для обмена и печати документов. Многие организации используют PDF в качестве стандартного формата для создания отчетов и обмена другими официальными документами. В некоторых случаях нам может потребоваться встроить определенные данные или информацию о документе, продукте или компании в виде изображения штрих-кода в документы PDF. Мы можем программно добавить машиночитаемое изображение штрих-кода в документ PDF в приложениях .NET. В этой статье мы узнаем, как добавить штрих-код в документы PDF с помощью C#.
Статья должна охватывать следующие темы:
- C# API для добавления штрих-кода в PDF
- Создайте PDF-документ и добавьте штрих-код
- Добавить штрих-код в существующий PDF-документ
- Добавить QR-код в документы PDF
- Чтение штрих-кода из PDF-документа
C# API для добавления штрих-кода в PDF
Для добавления штрих-кодов в документы PDF мы будем следовать двухэтапной процедуре. Во-первых, мы будем использовать API Aspose.PDF для .NET для создания или загрузки документа PDF, затем мы сгенерируем и добавим изображение штрих-кода в PDF с помощью Aspose.BarCode для .NET API. Пожалуйста, загрузите библиотеки DLL API или установите их с помощью NuGet.
PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.PDF
Создайте PDF-документ и добавьте штрих-код в С#
Мы можем создать новый документ PDF и добавить изображение штрих-кода в PDF, выполнив следующие шаги:
- Во-первых, создайте экземпляр класса BarcodeGenerator с EncodeType и текстом для кодирования в качестве аргументов.
- Затем создайте экземпляр объекта потока памяти.
- Затем вызовите метод Save(), чтобы сохранить изображение штрих-кода в поток памяти.
- Затем создайте экземпляр класса Document.
- Затем добавьте страницу во вновь созданный PDF-документ.
- Затем создайте экземпляр класса PdfFileMend.
- Затем вызовите метод BindPdf() с объектом Document, чтобы связать его.
- Затем вызовите метод AddImage() с объектом потока и координатами положения изображения в качестве аргументов.
- После этого сохраните PDF с помощью метода Save(). В качестве аргумента он принимает путь к выходному PDF-файлу.
- Наконец, вызовите метод Close(), чтобы закрыть объект PdfFileMend.
В следующем примере кода показано, как создать новый PDF-документ и добавить изображение штрих-кода с помощью C#.
// В этом примере кода показано, как добавить изображение штрих-кода в PDF-файл.
// Путь к каталогу документов.
string dataDir = @"D:\Files\BarCode\";
// Создайте объект линейного штрих-кода, установите текст кода и тип символики для штрих-кода.
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");
// Создать поток памяти и сохранить изображение штрих-кода в поток памяти
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Создайте документ PDF и добавьте страницу в документ
Document doc = new Document();
doc.Pages.Add();
// Открыть документ
PdfFileMend mender = new PdfFileMend();
// Привяжите PDF, чтобы добавить штрих-код
mender.BindPdf(doc);
// Добавить изображение штрих-кода в файл PDF
mender.AddImage(ms, 1, 100, 600, 200, 700);
// Сохранить изменения
mender.Save(dataDir + "AddImage_out.pdf");
// Закрыть объект PdfFileMend
mender.Close();
Добавить штрих-код в существующий PDF-документ на С#
Мы также можем добавить изображение штрих-кода на любую страницу существующих PDF-документов. Метод AddImage() позволяет добавить изображение на указанную страницу PDF-документа по заданным координатам. Мы можем вставить изображение в существующий документ PDF, выполнив следующие действия:
- Во-первых, создайте экземпляр класса BarcodeGenerator с EncodeType и текстом для кодирования в качестве аргументов.
- Затем создайте экземпляр объекта потока памяти.
- Затем вызовите метод Save(), чтобы сохранить изображение штрих-кода в поток памяти.
- Затем загрузите документ PDF с помощью класса Document.
- Затем создайте экземпляр класса PdfFileMend.
- Затем вызовите метод BindPdf() с объектом Document, чтобы связать его.
- Затем вызовите метод AddImage() с объектом потока, номером страницы и координатами положения изображения в качестве аргументов.
- После этого сохраните PDF с помощью метода Save(). В качестве аргумента он принимает путь к выходному PDF-файлу.
- Наконец, вызовите метод Close(), чтобы закрыть объект PdfFileMend.
В следующем примере кода показано, как добавить изображение штрих-кода в существующий документ PDF с помощью C#.
// В этом примере кода показано, как добавить изображение штрих-кода в существующий PDF-файл.
// Путь к каталогу документов.
string dataDir = @"D:\Files\BarCode\";
// Создайте объект линейного штрих-кода, установите текст кода и тип символики для штрих-кода.
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");
// Создать поток памяти и сохранить изображение штрих-кода в поток памяти
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Загрузите PDF-документ
Document doc = new Document(dataDir + "sample.pdf");
// Открыть документ
PdfFileMend mender = new PdfFileMend();
// Привязать PDF, чтобы добавить изображение штрих-кода
mender.BindPdf(doc);
// Добавить изображение штрих-кода в файл PDF
mender.AddImage(ms, 1, 70, 0, 200, 600);
// Сохранить изменения
mender.Save(dataDir + "Sample_out.pdf");
// Закрыть объект PdfFileMend
mender.Close();
Добавить QR-код в PDF-документы на C#
Точно так же мы также можем добавить QR-код в документы PDF, выполнив шаги, упомянутые ранее. Однако нам просто нужно установить EncodeType как QR на первом этапе. Нам также может понадобиться настроить положение изображения на шаге № 7.
В следующем примере кода показано, как добавить QR-код в документ PDF с помощью C#.
// В этом примере кода показано, как добавить QR-код в существующий PDF-файл.
// Путь к каталогу документов.
string dataDir = @"D:\Files\BarCode\";
// Создайте объект линейного штрих-кода, установите текст кода и тип символов для штрих-кода.
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");
// Создать поток памяти и сохранить изображение штрих-кода в поток памяти
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Загрузите PDF-документ
Document doc = new Document(dataDir + "sample.pdf");
// Открыть документ
PdfFileMend mender = new PdfFileMend();
// Привязать PDF, чтобы добавить изображение штрих-кода
mender.BindPdf(doc);
// Добавьте QR-изображение в файл PDF
mender.AddImage(ms, 1, 0, 650, 200, 780);
// Сохранить изменения
mender.Save(dataDir + "Sample_QR_out.pdf");
// Закрыть объект PdfFileMend
mender.Close();
Чтение штрих-кода из PDF-документа с помощью С#
Мы можем распознать любое изображение штрих-кода, встроенное в любую из страниц PDF-документа, используя класс PdfExtractor. Это позволяет извлекать изображения из PDF, а затем мы читаем информацию о штрих-коде из извлеченного изображения. Мы можем считывать штрих-коды из документов PDF, выполнив следующие действия:
- Во-первых, создайте экземпляр класса PdfExtractor.
- Затем свяжите входной PDF-документ с помощью метода BindPdf().
- Затем установите диапазон страниц для извлечения изображения.
- Затем вызовите метод ExtractImage() для извлечения изображений.
- Затем сохраните изображение для потоковой передачи в цикле.
- Затем создайте экземпляр класса BarCodeReader с потоком изображения и DecodeType в качестве аргументов.
- После этого вызовите метод ReadBarCodes(), чтобы получить объект BarCodeResult.
- Наконец, покажите информацию о штрих-коде.
В следующем примере кода показано, как считать изображение штрих-кода из документа PDF с помощью C#.
// В этом примере кода показано, как считывать штрих-код из PDF-файла.
// Путь к каталогу документов.
string dataDir = @"D:\Files\BarCode\sample_out.pdf";
// Связать pdf документ
Aspose.Pdf.Facades.PdfExtractor pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor();
pdfExtractor.BindPdf(dataDir);
// Установить диапазон страниц для извлечения изображения
pdfExtractor.StartPage = 1;
pdfExtractor.EndPage = 1;
// Извлеките изображения
pdfExtractor.ExtractImage();
// Сохраняйте изображения для потоковой передачи в цикле
while (pdfExtractor.HasNextImage())
{
// Сохранить изображение в поток
MemoryStream imageStream = new MemoryStream();
pdfExtractor.GetNextImage(imageStream);
imageStream.Position = 0;
// Распознайте штрих-код из потока изображений выше
using (BarCodeReader reader = new BarCodeReader(imageStream, DecodeType.Code39Standard))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("Codetext found: " + result.CodeText);
Console.WriteLine("Symbology: " + result.CodeType);
}
}
}
Codetext found: 1234567
Symbology: Code39Standard
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы попробовать библиотеку без ограничений пробной версии.
Вывод
В этой статье мы узнали, как:
- создать документ PDF программно;
- создать и добавить изображение штрих-кода в PDF на C#;
- извлекать изображения из PDF-документа с помощью C#;
- прочитать изображение штрих-кода из документа PDF.
Кроме того, вы можете узнать больше об Aspose.BarCode for .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.