Добавить штрих-код в PDF с помощью C#

PDF — самый популярный формат для обмена и печати документов. Многие организации используют PDF в качестве стандартного формата для создания отчетов и обмена другими официальными документами. В некоторых случаях нам может потребоваться встроить определенные данные или информацию о документе, продукте или компании в виде изображения штрих-кода в документы PDF. Мы можем программно добавить машиночитаемое изображение штрих-кода в документ PDF в приложениях .NET. В этой статье мы узнаем, как добавить штрих-код в документы PDF с помощью C#.

Статья должна охватывать следующие темы:

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, выполнив следующие шаги:

  1. Во-первых, создайте экземпляр класса BarcodeGenerator с EncodeType и текстом для кодирования в качестве аргументов.
  2. Затем создайте экземпляр объекта потока памяти.
  3. Затем вызовите метод Save(), чтобы сохранить изображение штрих-кода в поток памяти.
  4. Затем создайте экземпляр класса Document.
  5. Затем добавьте страницу во вновь созданный PDF-документ.
  6. Затем создайте экземпляр класса PdfFileMend.
  7. Затем вызовите метод BindPdf() с объектом Document, чтобы связать его.
  8. Затем вызовите метод AddImage() с объектом потока и координатами положения изображения в качестве аргументов.
  9. После этого сохраните PDF с помощью метода Save(). В качестве аргумента он принимает путь к выходному PDF-файлу.
  10. Наконец, вызовите метод 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-документ и добавьте штрих-код в C#.

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

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

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

  1. Во-первых, создайте экземпляр класса BarcodeGenerator с EncodeType и текстом для кодирования в качестве аргументов.
  2. Затем создайте экземпляр объекта потока памяти.
  3. Затем вызовите метод Save(), чтобы сохранить изображение штрих-кода в поток памяти.
  4. Затем загрузите документ PDF с помощью класса Document.
  5. Затем создайте экземпляр класса PdfFileMend.
  6. Затем вызовите метод BindPdf() с объектом Document, чтобы связать его.
  7. Затем вызовите метод AddImage() с объектом потока, номером страницы и координатами положения изображения в качестве аргументов.
  8. После этого сохраните PDF с помощью метода Save(). В качестве аргумента он принимает путь к выходному PDF-файлу.
  9. Наконец, вызовите метод 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();
Добавить штрих-код в существующий PDF-документ на C#.

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

Добавить 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();
Добавьте QR-код в PDF-документы на C#.

Добавьте QR-код в PDF-документы на C#.

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

Мы можем распознать любое изображение штрих-кода, встроенное в любую из страниц PDF-документа, используя класс PdfExtractor. Это позволяет извлекать изображения из PDF, а затем мы читаем информацию о штрих-коде из извлеченного изображения. Мы можем считывать штрих-коды из документов PDF, выполнив следующие действия:

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

В следующем примере кода показано, как считать изображение штрих-кода из документа 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, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

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