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
- Gerar e adicionar código de barras ao documento do Word
- Adicionar código de barras ao documento do Word existente
- Adicionar código QR ao documento do Word
- Ler código de barras do documento do Word
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:
- Primeiramente, crie uma instância da classe BarcodeGenerator. Leva o EncodeType e o texto para codificar como argumentos.
- Em seguida, crie uma instância do objeto de fluxo de memória.
- Em seguida, chame o método Save() para salvar a imagem do código de barras no fluxo de memória.
- Em seguida, crie uma instância da classe Document.
- Em seguida, inicialize uma instância da classe DocumentBuilder com o objeto Document.
- Depois disso, insira a imagem do código de barras usando o método InsertImage() com o objeto stream como argumento.
- 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");
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:
- Em primeiro lugar, crie uma instância da classe BarcodeGenerator com o EncodeType e o texto para codificar como argumentos.
- Em seguida, crie uma instância do objeto de fluxo de memória.
- Em seguida, chame o método Save() para salvar a imagem do código de barras no fluxo de memória.
- Em seguida, carregue um documento do Word existente usando a classe Document.
- Em seguida, inicialize uma instância da classe DocumentBuilder com o objeto Document.
- 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.
- 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 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");
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:
- Em primeiro lugar, carregue um documento do Word existente usando a classe Document.
- Em seguida, acesse os tipos NodeCollection de Shape usando o método GetChildNodes().
- Em seguida, percorra todas as formas e verifique se a forma é uma imagem.
- Em seguida, salve a imagem no fluxo.
- Em seguida, crie uma instância da classe BarCodeReader com fluxo de imagem e DecodeType como argumentos.
- Depois disso, chame o método ReadBarCodes() para obter o objeto BarCodeResult.
- 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.