Criar código de barras em documentos do Word usando C#

Os códigos de barras são imagens na forma de linhas paralelas, pontos ou retângulos com dados/informações codificados. Os profissionais do setor incorporam e acessam informações de produtos, rastreiam a movimentação de produtos e acompanham o estoque usando códigos de barras. Em certos casos, podemos precisar gerar e adicionar códigos de barras em documentos do MS Word. O MS Word é o programa de processamento gráfico de texto mais popular e amplamente utilizado. Ele é usado para criar novos documentos com texto, imagens ou gráficos, escrever textos de qualidade profissional, editar e formatar os documentos existentes, etc. O DOCX e DOC são os mais populares formatos de arquivo suportados pelo MS Word. Neste artigo, aprenderemos como criar um código de barras em documentos do Word programaticamente usando C#.

Os seguintes tópicos serão abordados neste artigo:

API C# para criar código de barras em documentos do Word

Para gerar um código de barras e adicionar uma imagem de código de barras a documentos do Word, seguiremos um procedimento de duas etapas. Em primeiro lugar, usaremos a API Aspose.Words for .NET para criar ou carregar um documento do Word, depois geraremos e adicionaremos a imagem do código de barras ao documento usando o Aspose.BarCode for .NET API. A classe Document da API Aspose.Words for .NET permite criar um novo documento Word ou carregar um arquivo Word existente no aplicativo. O método Save() desta classe salva o documento no caminho de arquivo fornecido. A classe DocumentBuilder da API fornece métodos para construir um documento. Ele fornece vários métodos InsertImage() sobrecarregados para inserir uma imagem no documento.

A API Aspose.BarCode para .NET permite gerar vários tipos de códigos de barras suportados. Para isso, fornece a classe BarcodeGenerator para gerar o código de barras do EncodeType especificado. Podemos salvar a imagem de código de barras gerada usando o método Save() desta classe. A API também fornece a enumeração BarCodeImageFormat para especificar os formatos de salvamento. Podemos ler o código de barras das imagens usando a classe BarCodeReader da API.

Por favor, baixe as DLLs das APIs ou instale-as usando NuGet.

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

Gerar e adicionar código de barras ao documento do Word em C#

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

  1. Primeiramente, crie uma instância da classe BarcodeGenerator. Leva 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, inicialize uma instância da classe DocumentBuilder com o objeto Document.
  6. Depois disso, insira a imagem do código de barras usando o método InsertImage() com o objeto stream como argumento.
  7. Por fim, chame o método Save(). Ele usa o caminho do arquivo DOCX de saída como um argumento.

O exemplo de código a seguir mostra como gerar e adicionar um código de barras a um novo documento do Word usando C#.

// Este exemplo de código demonstra como gerar e adicionar uma imagem de código de barras ao documento do Word.
// O caminho para o diretório de documentos.
string dataDir = @"C:\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, "1234567890");

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

// Criar um novo documento do Word
Aspose.Words.Document doc = new Aspose.Words.Document();

// Criar construtor para objeto de documento
DocumentBuilder builder = new DocumentBuilder(doc);

// Insira a imagem do código de barras no documento
builder.InsertImage(ms);

// Salve o documento do Word
doc.Save(dataDir + "Sample_out.docx");
Gere e adicione código de barras a um novo documento do Word em C#.

Gere e adicione código de barras a um novo documento do Word em C#.

Adicionar código de barras ao documento do Word existente em c#

Podemos gerar e adicionar uma imagem de código de barras a qualquer documento do Word existente 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, carregue um documento do Word existente usando a classe Document.
  5. Em seguida, inicialize uma instância da classe DocumentBuilder com o objeto Document.
  6. Depois disso, insira a imagem do código de barras usando o método InsertImage() com o objeto stream e sua posição como argumentos.
  7. Por fim, chame o método Save(). Ele usa o caminho do arquivo DOCX de saída como um argumento.

O exemplo de código a seguir mostra como gerar e adicionar um código de barras a um documento do Word existente usando C#.

// Este exemplo de código demonstra como gerar e adicionar uma imagem de código de barras a um documento do Word existente.
// O caminho para o diretório de documentos.
string dataDir = @"C:\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.Codabar, "1234567890");

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

// Criar um novo documento do Word
Document doc = new Document(dataDir + "sample.docx");

// Criar construtor para objeto de documento
DocumentBuilder builder = new DocumentBuilder(doc);

// Insira a imagem do código de barras no documento
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    0,
    RelativeVerticalPosition.Margin,
    400,
    200,
    100,
    WrapType.Square);

// Salve o documento do Word
doc.Save(dataDir + "Sample_out.docx");
Adicionar código de barras ao documento do Word existente em C#.

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

Adicionar código QR ao documento do Word usando C#

Da mesma forma, também podemos gerar uma imagem de código QR e adicioná-la ao documento do Word seguindo as etapas mencionadas anteriormente. No entanto, só precisamos definir o EncodeType como QR ou GS1QR na primeira etapa. Também podemos precisar ajustar a posição da imagem na etapa 6.

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

// Este exemplo de código demonstra como gerar e adicionar código QR a um documento do Word existente.
// O caminho para o diretório de documentos.
string dataDir = @"C:\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");

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

// Criar um novo documento do Word
Document doc = new Document(dataDir + "sample.docx");

// Criar construtor para objeto de documento
DocumentBuilder builder = new DocumentBuilder(doc);

// Insira a imagem do código de barras no documento
builder.InsertImage(ms,
    RelativeHorizontalPosition.Margin,
    400,
    RelativeVerticalPosition.Margin,
    -50,
    100,
    100,
    WrapType.Square);

// Salve o documento do Word
doc.Save(dataDir + "Sample_qr_out.docx");
Adicione o código QR ao documento do Word usando C#.

Adicione o código QR ao documento do Word usando C#.

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

Podemos reconhecer qualquer imagem de código de barras disponível em qualquer página do documento Word seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um documento do Word existente usando a classe Document.
  2. Em seguida, acesse os tipos NodeCollection de Shape usando o método GetChildNodes().
  3. Em seguida, percorra todas as formas e verifique se a forma é uma imagem.
  4. Em seguida, salve a imagem no fluxo.
  5. Em seguida, crie uma instância da classe BarCodeReader com fluxo de imagem e DecodeType como argumentos.
  6. Depois disso, chame o método ReadBarCodes() para obter o objeto BarCodeResult.
  7. Por fim, mostre as informações do código de barras.

O exemplo de código a seguir mostra como ler uma imagem de código de barras de um documento do Word usando C#.

// Este exemplo de código demonstra como ler o código de barras de um documento do Word.
// O caminho para o diretório de documentos.
string dataDir = @"C:\Files\BarCode\";

// Carregar o documento do Word
Document wordDocument = new Document(dataDir + "sample_out.docx");

// Obtenha todas as formas
NodeCollection shapes = wordDocument.GetChildNodes(NodeType.Shape, true);

// Percorra todas as formas
foreach (Shape shape in shapes)
{
  // Verifique se ele tem uma imagem
  if (shape.HasImage)
  {
    // Salve a imagem no fluxo de memória
    MemoryStream imgStream = new MemoryStream();
    shape.ImageData.Save(imgStream);

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

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 do Word programaticamente;
  • gerar uma imagem de código de barras e adicioná-la ao documento Word;
  • crie um código QR e insira-o em um documento do Word;
  • ler uma imagem de código de barras de um documento do Word em C#.

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