Como criar códigos de barras em PDF em C#

Como Exportar Códigos de Barras como PDF em C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode permite que desenvolvedores C# exportem códigos de barras como PDFs através de três métodos: salvando diretamente em arquivo, convertendo para dados binários, ou transmitindo para a memória - tudo com operações simples de uma linha.

Início Rápido: Exporte um Código de Barras para PDF Instantaneamente

Este exemplo mostra como é simples exportar um código de barras como PDF no .NET usando IronBarcode. Com uma linha, você obtém um código de barras pronto para PDF – ideal para salvar, transmitir ou enviar rapidamente.

  1. Instale IronBarcode com o Gerenciador de Pacotes NuGet

    PM > Install-Package BarCode
  2. Copie e execute este trecho de código.

    var pdfBytes = IronBarCode.BarcodeWriter.CreateBarcode("FastPDF", IronBarCode.BarcodeWriterEncoding.Code128).ToPdfBinaryData();
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronBarcode em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Como Exporto Códigos de Barras como um Arquivo PDF?

Por que Salvar Códigos de Barras Diretamente em Arquivos PDF?

Salvar códigos de barras diretamente em arquivos PDF é a abordagem mais direta quando você precisa gerar documentos físicos, criar etiquetas imprimíveis ou arquivar códigos de barras para armazenamento a longo prazo. Este método é particularmente útil para sistemas de gestão de inventário, etiquetas de envio e fluxos de trabalho de geração de documentos onde o formato PDF garante uma renderização consistente em diferentes plataformas e impressoras.

Para salvar um código de barras como um arquivo PDF, primeiro crie um objeto GeneratedBarcode com BarcodeWriter.CreateBarcode e depois use o método SaveAsPdf() para converter e salvar no disco. O seguinte trecho de código demonstra como isso funciona.

:path=/static-assets/barcode/content-code-examples/how-to/ExportBarcodeAsPdfFile.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix);
myBarcode.SaveAsPdf("myBarcode.pdf");
$vbLabelText   $csharpLabel

Para opções mais avançadas de criação de código de barras, confira nosso guia abrangente sobre criação de códigos de barras a partir de várias fontes de dados.

Quais Opções de Caminho de Arquivo Estão Disponíveis?

IronBarcode fornece opções de caminho de arquivo flexíveis para salvar arquivos PDF. Você pode especificar caminhos absolutos, caminhos relativos, ou usar variáveis de ambiente. Aqui está um exemplo mais detalhado mostrando diferentes opções de caminho:

using IronBarCode;
using System;
using System.IO;

// Create a barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

// Save to current directory
barcode.SaveAsPdf("barcode.pdf");

// Save to absolute path
barcode.SaveAsPdf(@"C:\BarcodeExports\product_barcode.pdf");

// Save to relative path
barcode.SaveAsPdf(@"..\..\exports\barcode.pdf");

// Save using environment path
string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));
using IronBarCode;
using System;
using System.IO;

// Create a barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

// Save to current directory
barcode.SaveAsPdf("barcode.pdf");

// Save to absolute path
barcode.SaveAsPdf(@"C:\BarcodeExports\product_barcode.pdf");

// Save to relative path
barcode.SaveAsPdf(@"..\..\exports\barcode.pdf");

// Save using environment path
string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));
$vbLabelText   $csharpLabel

Neste artigo, exploramos como usar o IronBarcode para exportar códigos de barras para PDF. Com IronBarcode, os códigos de barras podem ser exportados como um arquivo, dados binários, ou fluxo de memória. Para uma visão geral completa das capacidades do IronBarcode, visite nossa documentação de introdução.

Quando Devo Usar Exportação em Arquivo vs Outros Métodos?

Escolha a exportação em arquivo quando:

  • Você precisa de armazenamento permanente de códigos de barras
  • Está gerando relatórios ou documentos imprimíveis
  • Está criando arquivos em lote para processamento offline
  • Está integrando com sistemas baseados em arquivos

Considere dados binários ou fluxos quando:

  • Trabalha com aplicações web que necessitam de resposta imediata
  • Está armazenando em bancos de dados
  • Está enviando através de APIs sem acesso ao sistema de arquivos
  • Está processando em ambientes com restrição de memória

Como Exporto Códigos de Barras como Dados Binários de PDF?

Por que Usar Dados Binários em vez de Arquivos?

A exportação de dados binários é ideal para cenários onde você precisa manipular dados de PDF na memória sem criar arquivos temporários. Esta abordagem é particularmente valiosa em aplicações web, ambientes de nuvem, e ao trabalhar com bancos de dados. Ela elimina operações de E/S de arquivo, melhorando o desempenho e a segurança ao manter os dados na memória.

Para exportar como dados binários de PDF, gere um código de barras e depois chame o método ToPdfBinaryData(). Isso gera os dados binários de PDF como um array byte[]. O seguinte trecho de código demonstra como isso funciona.

:path=/static-assets/barcode/content-code-examples/how-to/ExportBarcodeAsPdfBinaryData.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix);
byte[] myBarcodeByte = myBarcode.ToPdfBinaryData();
$vbLabelText   $csharpLabel

Você também pode personalizar a aparência do código de barras antes da exportação. Saiba mais sobre como personalizar estilos de códigos de barras para aprimorar suas exportações de PDF.

Como Posso Enviar Dados Binários de PDF para APIs?

Os dados binários de PDF podem ser facilmente transmitidos através de APIs REST, sendo perfeitos para arquiteturas de microsserviços. Aqui está um exemplo prático de envio de dados PDF de códigos de barras através de uma solicitação HTTP:

using IronBarCode;
using System.Net.Http;
using System.Threading.Tasks;

public async Task SendBarcodeToAPI()
{
    // Generate barcode and get binary data
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("API-DATA-123", BarcodeEncoding.QRCode);
    byte[] pdfData = barcode.ToPdfBinaryData();

    // Send via HTTP POST
    using (HttpClient client = new HttpClient())
    {
        ByteArrayContent content = new ByteArrayContent(pdfData);
        content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");

        HttpResponseMessage response = await client.PostAsync("https://api.example.com/barcode", content);
        // Handle response
    }
}
using IronBarCode;
using System.Net.Http;
using System.Threading.Tasks;

public async Task SendBarcodeToAPI()
{
    // Generate barcode and get binary data
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("API-DATA-123", BarcodeEncoding.QRCode);
    byte[] pdfData = barcode.ToPdfBinaryData();

    // Send via HTTP POST
    using (HttpClient client = new HttpClient())
    {
        ByteArrayContent content = new ByteArrayContent(pdfData);
        content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");

        HttpResponseMessage response = await client.PostAsync("https://api.example.com/barcode", content);
        // Handle response
    }
}
$vbLabelText   $csharpLabel

Quais São os Casos de Uso Comuns para Exportação Binária?

A exportação binária é comumente usada em:

  • Armazenamento em Banco de Dados: Armazenar códigos de barras PDF como dados BLOB em bancos de dados
  • Anexos de Email: Anexar códigos de barras a emails sem criar arquivos temporários
  • Armazenamento em Nuvem: Faça upload diretamente para serviços como Azure Blob Storage ou AWS S3
  • Processamento na Memória: Encadeie várias operações sem I/O de disco
  • Respostas da API Web: Retorne dados PDF diretamente em respostas HTTP

Para técnicas adicionais de geração de código de barras e melhores práticas, visite nosso guia sobre criação de códigos de barras a partir de várias fontes. Você também pode aprender sobre carimbar códigos de barras em PDFs existentes para cenários mais avançados de manipulação de PDF.

Como faço para exportar códigos de barras como um fluxo PDF?

Por que usar fluxos para exportação de PDF?

Os fluxos oferecem a abordagem mais flexível para lidar com dados PDF, especialmente ao integrar com outras bibliotecas .NET ou quando você precisa de controle detalhado sobre o fluxo de dados. Os fluxos são particularmente úteis para operações em larga escala onde a eficiência de memória é crítica, pois permitem leitura e gravação em buffer.

Para exportar como um fluxo de memória, gere um código de barras e depois chame o método ToPdfStream(). Este método retorna um objeto System.IO.Stream. O seguinte trecho de código demonstra como isso funciona.

:path=/static-assets/barcode/content-code-examples/how-to/ExportBarcodeAsPdfStream.cs
using IronBarCode;
using System.IO;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix);
Stream myBarcodeStream = myBarcode.ToPdfStream();
$vbLabelText   $csharpLabel

Para operações avançadas com fluxos e outros formatos de exportação, explore nosso guia detalhado sobre exportação de códigos de barras como fluxos.

Como lido corretamente com fluxos de memória?

O manuseio adequado de fluxos é crucial para prevenir vazamentos de memória e garantir o uso eficiente de recursos. Aqui está um exemplo abrangente mostrando as melhores práticas:

using IronBarCode;
using System.IO;

public void ProcessBarcodeStream()
{
    // Always use using statements for proper disposal
    using (Stream pdfStream = BarcodeWriter.CreateBarcode("STREAM-123", BarcodeEncoding.Code39).ToPdfStream())
    {
        // Example 1: Copy to file
        using (FileStream fileStream = File.Create("output.pdf"))
        {
            pdfStream.CopyTo(fileStream);
        }

        // Reset stream position for reuse
        pdfStream.Position = 0;

        // Example 2: Read into buffer
        byte[] buffer = new byte[pdfStream.Length];
        pdfStream.Read(buffer, 0, buffer.Length);

        // Example 3: Process with another library
        // ProcessPdfStream(pdfStream);
    }
}
using IronBarCode;
using System.IO;

public void ProcessBarcodeStream()
{
    // Always use using statements for proper disposal
    using (Stream pdfStream = BarcodeWriter.CreateBarcode("STREAM-123", BarcodeEncoding.Code39).ToPdfStream())
    {
        // Example 1: Copy to file
        using (FileStream fileStream = File.Create("output.pdf"))
        {
            pdfStream.CopyTo(fileStream);
        }

        // Reset stream position for reuse
        pdfStream.Position = 0;

        // Example 2: Read into buffer
        byte[] buffer = new byte[pdfStream.Length];
        pdfStream.Read(buffer, 0, buffer.Length);

        // Example 3: Process with another library
        // ProcessPdfStream(pdfStream);
    }
}
$vbLabelText   $csharpLabel

Quando devo escolher fluxos em vez de dados binários?

Escolha fluxos quando:

  • Integrando com outras bibliotecas que esperam entradas de fluxo
  • Processando arquivos grandes onde carregar todo o conteúdo na memória não é viável
  • Implementando respostas de streaming em aplicações web
  • Encadeando operações com outras APIs baseadas em fluxo
  • Precisando de leitura/gravação em buffer para otimização de desempenho

Escolha dados binários quando:

  • Armazenamento simples em variáveis ou bancos de dados é necessário
  • Serialização rápida sem processamento complexo
  • Trabalhando com APIs que esperam matrizes de bytes

Para técnicas adicionais de geração de código de barras e melhores práticas, visite nossos tutoriais de código de barras abrangentes. Você também pode aprender sobre carimbar códigos de barras em PDFs existentes para cenários mais avançados de manipulação de PDF.

Perguntas frequentes

Como faço para exportar um código de barras para PDF em C#?

O IronBarcode oferece três métodos para exportar códigos de barras como PDFs: salvar diretamente em um arquivo usando SaveAsPdf(), converter para dados binários com ToPdfBinaryData() ou transmitir para a memória. A abordagem mais simples é usar BarcodeWriter.CreateBarcode() seguido pelo método de exportação de sua preferência.

Posso gerar um código de barras em PDF com apenas uma linha de código?

Sim, o IronBarcode permite a geração de códigos de barras PDF de uma única linha. Basta usar: `var pdfBytes = IronBarCode.BarcodeWriter.CreateBarcode("FastPDF", IronBarCode.BarcodeWriterEncoding.Code128).ToPdfBinaryData();` para criar instantaneamente um código de barras pronto para PDF.

Quais opções de caminho de arquivo estão disponíveis ao salvar códigos de barras como arquivos PDF?

O IronBarcode oferece suporte a opções flexíveis de caminho de arquivo, incluindo caminhos absolutos, caminhos relativos e variáveis de ambiente. Você pode usar SaveAsPdf() com caminhos como "barcode.pdf" para o diretório atual, "C:\BarcodeExports\product_barcode.pdf" para caminhos absolutos ou Path.Combine() com Environment.SpecialFolder para caminhos do sistema.

Quando devo salvar códigos de barras diretamente em arquivos PDF em vez de usar fluxos?

Salvar diretamente em arquivos PDF com o método SaveAsPdf() do IronBarcode é ideal para gerar documentos físicos, criar etiquetas imprimíveis ou arquivar códigos de barras para armazenamento a longo prazo. Essa abordagem é particularmente útil para sistemas de gerenciamento de estoque, etiquetas de envio e fluxos de trabalho de documentos onde a renderização consistente de PDFs é necessária.

Como faço para converter dados de código de barras em dados binários PDF?

Utilize o método ToPdfBinaryData() do IronBarcode para converter códigos de barras em dados binários. Primeiro, crie um objeto GeneratedBarcode com BarcodeWriter.CreateBarcode(), depois chame ToPdfBinaryData() para obter o PDF como uma matriz de bytes adequada para armazenamento em banco de dados ou transmissão em rede.

Posso transmitir códigos de barras diretamente para a memória em vez de salvá-los no disco?

Sim, o IronBarcode suporta o streaming de códigos de barras para a memória, permitindo que você trabalhe com dados PDF sem criar arquivos físicos. Isso é perfeito para aplicações web ou APIs onde você precisa fornecer códigos de barras PDF dinamicamente, sem operações de E/S em disco.

Hairil Hashimi Bin Omar
Engenheiro de Software
Como todo grande engenheiro, Hairil é um ávido aprendiz. Ele está aprimorando seus conhecimentos em C#, Python e Java, usando esse conhecimento para agregar valor aos membros da equipe da Iron Software. Hairil ingressou na equipe da Iron Software vindo da Universiti Teknologi MARA, na Malásia, onde se formou em ...
Leia mais
Pronto para começar?
Nuget Downloads 2,108,094 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package BarCode
executar um exemplo Veja seu fio se transformar em um código de barras.