Adicionar código de barras ao PDF usando C#

PDF é o formato mais popular para compartilhamento e impressão de documentos. Muitas organizações usam o PDF como formato padrão para gerar relatórios e compartilhar outros documentos oficiais. Em certos casos, podemos precisar incorporar dados ou informações específicas sobre o documento, produto ou empresa como uma imagem de código de barras em documentos PDF. Podemos adicionar uma imagem de código de barras legível por máquina a um documento PDF programaticamente em aplicativos .NET. Neste artigo, aprenderemos como adicionar um código de barras a documentos PDF usando C#.

O artigo deve abordar os seguintes tópicos:

API C# para adicionar código de barras ao PDF

Para adicionar códigos de barras a documentos PDF, seguiremos um procedimento de duas etapas. Em primeiro lugar, usaremos a API Aspose.PDF for .NET para criar ou carregar um documento PDF, depois geraremos e adicionaremos a imagem do código de barras ao PDF usando o Aspose.BarCode for .NET API. Por favor, baixe as DLLs das APIs ou instale-as usando NuGet.

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

Criar documento PDF e adicionar código de barras em C#

Podemos criar um novo documento PDF e adicionar uma imagem de código de barras ao PDF seguindo as etapas abaixo:

  1. Em primeiro lugar, crie uma instância da classe BarcodeGenerator com o EncodeType e o texto para codificar como argumentos.
  2. Em seguida, crie uma instância do objeto de fluxo de memória
  3. Em seguida, chame o método Save() para salvar a imagem do código de barras no fluxo de memória.
  4. Em seguida, crie uma instância da classe Document.
  5. Em seguida, adicione uma página ao documento PDF recém-criado.
  6. Em seguida, crie uma instância da classe PdfFileMend.
  7. Em seguida, chame o método BindPdf() com o objeto Document para vinculá-lo.
  8. Em seguida, chame o método AddImage() com o objeto de fluxo e as coordenadas de posição da imagem como argumentos.
  9. Depois disso, salve o PDF usando o método Save(). Ele usa o caminho do arquivo PDF de saída como um argumento.
  10. Por fim, chame o método Close() para fechar o objeto PdfFileMend.

O exemplo de código a seguir demonstra como criar um novo documento PDF e adicionar uma imagem de código de barras usando C#.

// Este exemplo de código demonstra como adicionar uma imagem de código de barras a um PDF.
// O caminho para o diretório de documentos.
string dataDir = @"D:\Files\BarCode\";

// Instanciar objeto de código de barras linear, definir o texto do código e o tipo de simbologia para o código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Crie fluxo de memória e salve a imagem do código de barras no fluxo de memória
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Criar documento PDF e adicionar uma página ao documento
Document doc = new Document();
doc.Pages.Add();

// Abrir documento
PdfFileMend mender = new PdfFileMend();

// Vincule o PDF para adicionar código de barras
mender.BindPdf(doc);

// Adicionar imagem de código de barras no arquivo PDF
mender.AddImage(ms, 1, 100, 600, 200, 700);

// Salvar alterações
mender.Save(dataDir + "AddImage_out.pdf");

// Fechar objeto PdfFileMend
mender.Close();
Crie um documento PDF e adicione um código de barras em C#.

Crie um documento PDF e adicione um código de barras em C#.

Adicionar código de barras ao documento PDF existente em C#

Também podemos adicionar uma imagem de código de barras a qualquer página de documentos PDF existentes. O método AddImage() permite adicionar uma imagem à página especificada do documento PDF nas coordenadas especificadas. Podemos inserir uma imagem em um documento PDF existente seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe BarcodeGenerator com o EncodeType e o texto para codificar como argumentos.
  2. Em seguida, crie uma instância do objeto de fluxo de memória
  3. Em seguida, chame o método Save() para salvar a imagem do código de barras no fluxo de memória.
  4. Em seguida, carregue o documento PDF usando a classe Document.
  5. Em seguida, crie uma instância da classe PdfFileMend.
  6. Em seguida, chame o método BindPdf() com o objeto Document para vinculá-lo.
  7. Em seguida, chame o método AddImage() com o objeto de fluxo, o número da página e as coordenadas da posição da imagem como argumentos.
  8. Depois disso, salve o PDF usando o método Save(). Ele usa o caminho do arquivo PDF de saída como um argumento.
  9. Finalmente, chame o método Close() para fechar o objeto PdfFileMend.

O exemplo de código a seguir demonstra como adicionar uma imagem de código de barras a um documento PDF existente usando C#.

// Este exemplo de código demonstra como adicionar uma imagem de código de barras a um PDF existente.
// O caminho para o diretório de documentos.
string dataDir = @"D:\Files\BarCode\";

// Instanciar objeto de código de barras linear, definir o texto do código e o tipo de simbologia para o código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Crie fluxo de memória e salve a imagem do código de barras no fluxo de memória
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Carregar um documento PDF
Document doc = new Document(dataDir + "sample.pdf");

// Abrir documento
PdfFileMend mender = new PdfFileMend();

// Vincular PDF para adicionar imagem de código de barras
mender.BindPdf(doc);

// Adicionar imagem de código de barras no arquivo PDF
mender.AddImage(ms, 1, 70, 0, 200, 600);

// Salvar alterações
mender.Save(dataDir + "Sample_out.pdf");

// Fechar objeto PdfFileMend
mender.Close();
Adicionar código de barras ao documento PDF existente em C#.

Adicionar código de barras ao documento PDF existente em C#.

Adicionar QR Code a documentos PDF em C#

Da mesma forma, também podemos adicionar um código QR aos documentos PDF seguindo as etapas mencionadas anteriormente. No entanto, só precisamos definir o EncodeType como QR na primeira etapa. Também podemos precisar ajustar a posição da imagem na etapa 7.

O exemplo de código a seguir demonstra como adicionar um código QR a um documento PDF usando C#.

// Este exemplo de código demonstra como adicionar código QR a um PDF existente.
// O caminho para o diretório de documentos.
string dataDir = @"D:\Files\BarCode\";

// Instanciar objeto de código de barras linear, definir o texto do código e o tipo de simbologia para o código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Crie fluxo de memória e salve a imagem do código de barras no fluxo de memória
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Carregar um documento PDF
Document doc = new Document(dataDir + "sample.pdf");

// Abrir documento
PdfFileMend mender = new PdfFileMend();

// Vincular PDF para adicionar imagem de código de barras
mender.BindPdf(doc);

// Adicionar imagem QR no arquivo PDF
mender.AddImage(ms, 1, 0, 650, 200, 780);

// Salvar alterações
mender.Save(dataDir + "Sample_QR_out.pdf");

// Fechar objeto PdfFileMend
mender.Close();
Adicione QR Code a documentos PDF em C#.

Adicione QR Code a documentos PDF em C#.

Leia o código de barras do documento PDF usando C#

Podemos reconhecer qualquer imagem de código de barras incorporada em qualquer uma das páginas do documento PDF usando a classe PdfExtractor. Ele permite extrair imagens do PDF e, em seguida, leremos as informações do código de barras da imagem extraída. Podemos ler códigos de barras dos documentos PDF seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe PdfExtractor.
  2. Em seguida, vincule o documento PDF de entrada usando o método BindPdf().
  3. Em seguida, defina o intervalo de páginas para extração de imagem.
  4. Em seguida, chame o método ExtractImage() para extrair as imagens.
  5. Em seguida, salve a imagem para transmitir em um loop.
  6. Em seguida, crie uma instância da classe BarCodeReader com fluxo de imagem e DecodeType como argumentos.
  7. Depois disso, chame o método ReadBarCodes() para obter o objeto BarCodeResult.
  8. Por fim, mostre as informações do código de barras.

O exemplo de código a seguir demonstra como ler uma imagem de código de barras de um documento PDF usando C#.

// Este exemplo de código demonstra como ler o código de barras de um PDF
// O caminho para o diretório de documentos.
string dataDir = @"D:\Files\BarCode\sample_out.pdf";

// Vincular o documento pdf
Aspose.Pdf.Facades.PdfExtractor pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor();
pdfExtractor.BindPdf(dataDir);

// Definir intervalo de páginas para extração de imagem
pdfExtractor.StartPage = 1;
pdfExtractor.EndPage = 1;

// Extraia as imagens
pdfExtractor.ExtractImage();

// Salve imagens para transmitir em um loop
while (pdfExtractor.HasNextImage())
{
  // Salvar imagem para transmitir
  MemoryStream imageStream = new MemoryStream();
  pdfExtractor.GetNextImage(imageStream);
  imageStream.Position = 0;

  // Reconhecer o código de barras do fluxo de imagem acima
  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

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como:

  • criar um documento PDF programaticamente;
  • gerar e adicionar uma imagem de código de barras ao PDF em C#;
  • extrair imagens de um documento PDF usando C#;
  • ler a imagem do código de barras de um documento PDF.

Além disso, você pode aprender mais sobre Aspose.BarCode para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também