Como criar e inserir códigos de barras em documentos PDF usando o IronBarcode.

Como Carimbar Códigos de Barras em PDFs Usando C

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

Carimbe códigos de barras em documentos PDF existentes em C# usando o método CreateBarcode do IronBarcode com StampToExistingPdfPage para páginas únicas ou StampToExistingPdfPages para várias páginas, especificando coordenadas e números de páginas.

Início Rápido: Carimbar um GeneratedBarcode em uma Página PDF

Este exemplo demonstra a geração de um código de barras usando o CreateBarcode do IronBarcode e carimbando-o em uma página de PDF existente. Forneça o caminho do PDF, coordenadas de posição e número de página.

  1. Instale IronBarcode com o Gerenciador de Pacotes NuGet

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

    IronBarCode.BarcodeWriter.CreateBarcode("https://my.site", IronBarCode.BarcodeEncoding.QRCode, 150, 150)
        .StampToExistingPdfPage("report.pdf", x: 50, y: 50, pageNumber: 1);
  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

StampToExistingPdfPage StampToExistingPdfPages

Como posso estampar um código de barras em uma página de PDF existente?

Além de exportar códigos de barras como PDF, o IronBarcode permite carimbar o GeneratedBarcode diretamente em documentos PDF existentes. Este recurso é útil ao adicionar códigos de rastreamento, etiquetas de inventário ou identificadores de documentos a relatórios, faturas ou formulários existentes. O seguinte trecho de código demonstra esta tarefa.

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

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100);
myBarcode.StampToExistingPdfPage("pdf_file_path.pdf", x: 200, y: 100, 3, "password");
Imports IronBarCode

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100)
myBarcode.StampToExistingPdfPage("pdf_file_path.pdf", x:= 200, y:= 100, 3, "password")
$vbLabelText   $csharpLabel

Quais parâmetros o StampToExistingPdfPage requer?

StampToExistingPdfPage() GeneratedBarcode

O trecho de código chama o método StampToExistingPdfPage com um objeto StampSettings para carimbar o objeto no documento PDF. Este método proporciona flexibilidade enquanto mantém a simplicidade. Abaixo estão os parâmetros do método:

  • pdfFilePath: Um System.String representando o caminho do documento PDF (relativo ou absoluto).
  • x: Um System.Int32 para a posição horizontal em pixels a partir da borda esquerda.
  • y: Um System.Int32 para a posição vertical em pixels a partir da borda inferior.
  • pageNumber: Um System.Int32 indicando a página (ímpares, primeira página é 1).
  • password: Um System.String para PDFs protegidos por senha (opcional).

Quando devo usar o StampToExistingPdfPage?

Executar o trecho de código carimba o GeneratedBarcode diretamente no documento PDF sem salvar intermediário. Este método é adequado para cenários que requerem:

StampToExistingPdfPages() GeneratedBarcode

  • Códigos de rastreamento únicos em etiquetas de envio ou documentos de entrega
  • Números de lote em relatórios de fabricação
  • Números de controle de documentos em formulários legais ou regulamentares
  • Códigos QR para autenticação digital ou links de acesso rápido

A abordagem de estampa direta economiza tempo de processamento e elimina arquivos temporários. Para informações sobre diferentes tipos de código de barras, veja o guia de formatos de código de barras suportados.

Como posso estampar um código de barras em várias páginas de PDF?

Às vezes, o mesmo código de barras precisa ser estampado em várias páginas. Usos comuns incluem aplicar identificadores de documentos a cada página de relatórios de várias páginas, adicionar códigos de controle de versão em documentos técnicos ou inserir códigos de barras de segurança em cada página de materiais confidenciais. Em vez de repetir o método de página única, use o método StampToExistingPdfPages da classe BarcodeStamper. O seguinte trecho de código demonstra este método.

:path=/static-assets/barcode/content-code-examples/how-to/StampBarcodeOnMultiplePdfPages.cs
using IronBarCode;
using System.Collections.Generic;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100);
List<int> pages = new List<int>();
pages.Add(1);
pages.Add(2);
pages.Add(3);
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, pages, "password");
Imports IronBarCode
Imports System.Collections.Generic

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100)
Private pages As New List(Of Integer)()
pages.Add(1)
pages.Add(2)
pages.Add(3)
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x:= 200, y:= 100, pages, "password")
$vbLabelText   $csharpLabel

Para flexibilidade, use o LINQ para gerar faixas de páginas dinamicamente:

// Stamp on all even pages from 2 to 10
var evenPages = Enumerable.Range(1, 10).Where(x => x % 2 == 0).ToList();
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, evenPages, "password");

// Stamp on the first and last 3 pages of a 20-page document
var selectedPages = new List<int> { 1, 2, 3, 18, 19, 20 };
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, selectedPages, "password");
// Stamp on all even pages from 2 to 10
var evenPages = Enumerable.Range(1, 10).Where(x => x % 2 == 0).ToList();
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, evenPages, "password");

// Stamp on the first and last 3 pages of a 20-page document
var selectedPages = new List<int> { 1, 2, 3, 18, 19, 20 };
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, selectedPages, "password");
Imports System.Linq

' Stamp on all even pages from 2 to 10
Dim evenPages = Enumerable.Range(1, 10).Where(Function(x) x Mod 2 = 0).ToList()
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x:=200, y:=100, evenPages, "password")

' Stamp on the first and last 3 pages of a 20-page document
Dim selectedPages = New List(Of Integer) From {1, 2, 3, 18, 19, 20}
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x:=200, y:=100, selectedPages, "password")
$vbLabelText   $csharpLabel

Quais parâmetros o StampToExistingPdfPages aceita?

Abaixo estão os parâmetros do método:

  • pdfFilePath: Um System.String representando o caminho do documento PDF.
  • x: Um System.Int32 para a posição horizontal em pixels.
  • y: Um System.Int32 para a posição vertical em pixels.
  • pageNumbers: Um IEnumerable de páginas a serem carimbadas (ímpares).
  • password: Um System.String para PDFs protegidos por senha (opcional).

StampToExistingPdfPages() StampToExistingPdfPage() GeneratedBarcode

Por que usar o StampToExistingPdfPages ao invés de repetir?

Este método oferece estampagem eficiente de código de barras em várias páginas sem iteração manual, melhorando a legibilidade e desempenho do código. A implementação interna otimiza o processamento de PDF, resultando em:

  • Execução mais rápida: PDF aberto e processado uma vez, não várias vezes
  • Uso de memória reduzido: Gerenciamento eficiente de recursos para PDFs grandes
  • Código mais limpo: Sem loop manual e gerenciamento de tratamento de erros
  • Operações atômicas: Todas as páginas estampadas em uma operação única

Técnicas de estampagem avançadas

Personalizando a aparência do código de barras antes de estampar

Antes de estampar seu código de barras em um PDF, personalize sua aparência. IronBarcode oferece opções extensas de personalização:

:path=/static-assets/barcode/content-code-examples/how-to/create-and-stamp-barcode-pdf-5.cs
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("INVOICE-2024-001", BarcodeEncoding.Code128, 250, 80);

// Customize the appearance
myBarcode.AddAnnotationTextAboveBarcode("Invoice Number");
myBarcode.AddAnnotationTextBelowBarcode("Scan for digital copy");
myBarcode.SetMargins(10);
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);

// Now stamp the customized barcode
myBarcode.StampToExistingPdfPage("invoice.pdf", x: 450, y: 700, pageNumber: 1);
Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("INVOICE-2024-001", BarcodeEncoding.Code128, 250, 80)

' Customize the appearance
myBarcode.AddAnnotationTextAboveBarcode("Invoice Number")
myBarcode.AddAnnotationTextBelowBarcode("Scan for digital copy")
myBarcode.SetMargins(10)
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue)

' Now stamp the customized barcode
myBarcode.StampToExistingPdfPage("invoice.pdf", x:=450, y:=700, pageNumber:=1)
$vbLabelText   $csharpLabel

Trabalhando com Diferentes Tipos de Código de Barras

Diferentes cenários requerem diferentes tipos de código de barras. Códigos QR são adequados para URLs e grandes conjuntos de dados, enquanto Code128 funciona para identificadores alfanuméricos. Saiba mais sobre criar códigos QR ou explore outros formatos:

:path=/static-assets/barcode/content-code-examples/how-to/create-and-stamp-barcode-pdf-6.cs
// QR Code for contact information
var qrCode = BarcodeWriter.CreateBarcode("BEGIN:VCARD\nFN:John Doe\nTEL:555-1234\nEND:VCARD", 
    BarcodeEncoding.QRCode, 150, 150);
qrCode.StampToExistingPdfPage("businesscard.pdf", x: 400, y: 50, pageNumber: 1);

// Data Matrix for product tracking
var dataMatrix = BarcodeWriter.CreateBarcode("PROD-2024-BATCH-789", 
    BarcodeEncoding.DataMatrix, 100, 100);
dataMatrix.StampToExistingPdfPage("product_sheet.pdf", x: 50, y: 750, pageNumber: 1);
' QR Code for contact information
Dim qrCode = BarcodeWriter.CreateBarcode("BEGIN:VCARD" & vbLf & "FN:John Doe" & vbLf & "TEL:555-1234" & vbLf & "END:VCARD", 
    BarcodeEncoding.QRCode, 150, 150)
qrCode.StampToExistingPdfPage("businesscard.pdf", x:=400, y:=50, pageNumber:=1)

' Data Matrix for product tracking
Dim dataMatrix = BarcodeWriter.CreateBarcode("PROD-2024-BATCH-789", 
    BarcodeEncoding.DataMatrix, 100, 100)
dataMatrix.StampToExistingPdfPage("product_sheet.pdf", x:=50, y:=750, pageNumber:=1)
$vbLabelText   $csharpLabel

Tratamento de Erros e Melhores Práticas

Implemente um tratamento de erros adequado ao trabalhar com operações de marcação de PDF:

:path=/static-assets/barcode/content-code-examples/how-to/create-and-stamp-barcode-pdf-7.cs
try
{
    GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("DOCUMENT-ID-12345", 
        BarcodeEncoding.Code128, 200, 60);
    
    // Verify the PDF exists before attempting to stamp
    if (File.Exists("target.pdf"))
    {
        myBarcode.StampToExistingPdfPage("target.pdf", x: 100, y: 100, pageNumber: 1);
        Console.WriteLine("Barcode stamped successfully!");
    }
    else
    {
        Console.WriteLine("PDF file not found!");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error stamping barcode: {ex.Message}");
    // Log the error or handle it appropriately
}
Imports System
Imports System.IO

Try
    Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("DOCUMENT-ID-12345", BarcodeEncoding.Code128, 200, 60)

    ' Verify the PDF exists before attempting to stamp
    If File.Exists("target.pdf") Then
        myBarcode.StampToExistingPdfPage("target.pdf", x:=100, y:=100, pageNumber:=1)
        Console.WriteLine("Barcode stamped successfully!")
    Else
        Console.WriteLine("PDF file not found!")
    End If
Catch ex As Exception
    Console.WriteLine($"Error stamping barcode: {ex.Message}")
    ' Log the error or handle it appropriately
End Try
$vbLabelText   $csharpLabel

Considerações sobre o desempenho

Ao trabalhar com PDFs grandes ou múltiplas operações de marcação, considere estas dicas:

  1. Operações em Lote: Use StampToExistingPdfPages em vez de repetir StampToExistingPdfPage
  2. Cache de Código de Barras: Crie uma vez e reutilize o objeto GeneratedBarcode
  3. Cálculo de Coordenadas: Pré-calcule coordenadas de posição consistentes
  4. Gerenciamento de Memória: Processe PDFs muito grandes em lotes

Para cenários avançados que envolvem a leitura de códigos de barras de PDFs após a marcação, veja nosso guia sobre leitura de códigos de barras de documentos PDF.

Integração com Outros Recursos do IronBarcode

A funcionalidade de marcação de PDF funciona perfeitamente com outros recursos do IronBarcode. Combine com o processamento assíncrono para melhor desempenho de aplicativos web:

// Asynchronous PDF stamping
public async Task StampBarcodeAsync(string pdfPath, string barcodeData)
{
    await Task.Run(() =>
    {
        var barcode = BarcodeWriter.CreateBarcode(barcodeData, BarcodeEncoding.QRCode, 200, 200);
        barcode.StampToExistingPdfPage(pdfPath, x: 100, y: 100, pageNumber: 1);
    });
}
// Asynchronous PDF stamping
public async Task StampBarcodeAsync(string pdfPath, string barcodeData)
{
    await Task.Run(() =>
    {
        var barcode = BarcodeWriter.CreateBarcode(barcodeData, BarcodeEncoding.QRCode, 200, 200);
        barcode.StampToExistingPdfPage(pdfPath, x: 100, y: 100, pageNumber: 1);
    });
}
Imports System.Threading.Tasks

' Asynchronous PDF stamping
Public Async Function StampBarcodeAsync(pdfPath As String, barcodeData As String) As Task
    Await Task.Run(Sub()
                       Dim barcode = BarcodeWriter.CreateBarcode(barcodeData, BarcodeEncoding.QRCode, 200, 200)
                       barcode.StampToExistingPdfPage(pdfPath, x:=100, y:=100, pageNumber:=1)
                   End Sub)
End Function
$vbLabelText   $csharpLabel

Além disso, aproveite os recursos de correção de imagem do IronBarcode ao trabalhar com PDFs digitalizados que podem precisar de aprimoramento antes ou depois da marcação de código de barras.

Solução de problemas comuns

Se encontrar problemas ao marcar códigos de barras em PDFs, aqui estão soluções:

  1. Problemas de Coordenadas: As coordenadas dos PDFs começam no canto inferior esquerdo, não no superior esquerdo
  2. PDFs Protegidos por Senha: Assegure o parâmetro de senha correto para PDFs criptografados
  3. Tamanhos de Arquivo Grandes: Para dicas de otimização e manuseio, veja nosso guia de solução de problemas
  4. Problemas de Fonte ou Codificação: Para caracteres especiais ou Unicode, confira nosso guia de escrita de códigos de barras em Unicode

Seguindo estas diretrizes e aproveitando as capacidades de marcação de PDF do IronBarcode, é possível adicionar códigos de barras de forma eficiente a documentos PDF existentes mantendo alta performance e qualidade de código.

Perguntas frequentes

Como adiciono um código de barras a um documento PDF existente em C#?

Use o método CreateBarcode do IronBarcode para gerar um código de barras e, em seguida, aplique o método StampToExistingPdfPage para inseri-lo no seu PDF. Basta especificar o caminho do arquivo PDF, as coordenadas de posição (x, y) e o número da página onde você deseja que o código de barras apareça.

Quais parâmetros são necessários para o método StampToExistingPdfPage?

O método StampToExistingPdfPage do IronBarcode requer: pdfFilePath (string para a localização do PDF), coordenadas x e y (números inteiros para posicionamento em pixels), pageNumber (número inteiro, indexado a partir de 1) e um parâmetro de senha opcional para PDFs protegidos.

Posso usar o mesmo código de barras em várias páginas de um PDF?

Sim, o IronBarcode oferece o método StampToExistingPdfPages (observe o plural 'Pages'), que permite estampar um único código de barras gerado em várias páginas do seu documento PDF.

Qual sistema de coordenadas é usado para posicionar códigos de barras em PDFs?

O IronBarcode utiliza um sistema de coordenadas baseado em pixels, onde a coordenada x é medida a partir da borda esquerda da página e a coordenada y é medida a partir da borda inferior da página ao usar o método StampToExistingPdfPage.

Quais são os casos de uso comuns para a inserção de códigos de barras em PDFs existentes?

O recurso de carimbo em PDF do IronBarcode é comumente usado para adicionar códigos de rastreamento exclusivos a etiquetas de envio, números de lote em relatórios de fabricação, números de controle de documentos em formulários legais e códigos QR para autenticação digital ou links de acesso rápido.

É necessário salvar arquivos intermediários para inserir um código de barras em um PDF?

Não, o método StampToExistingPdfPage do IronBarcode imprime o código de barras diretamente no documento PDF sem criar arquivos temporários, o que economiza tempo de processamento e espaço de armazenamento.

Posso imprimir códigos de barras em documentos PDF protegidos por senha?

Sim, o IronBarcode suporta a impressão de códigos de barras em PDFs protegidos por senha. Basta fornecer a senha do PDF como um parâmetro opcional no método StampToExistingPdfPage.

Como o IronBarcode pode ajudar a melhorar a eficiência nos processos de negócios?

IronBarcode melhora a eficiência dos processos de negócios ao permitir a geração e leitura rápida e precisa de códigos de barras, reduzindo erros de entrada de dados manuais e melhorando o rastreamento de inventário e ativos.

Quais habilidades de programação são necessárias para implementar o IronBarcode em um projeto?

Conhecimento básico de programação C# é suficiente para implementar o IronBarcode em um projeto, pois ele fornece métodos diretos e documentação abrangente para guiar os desenvolvedores.

IronBarcode é adequado tanto para projetos pequenos quanto para grandes aplicações empresariais?

IronBarcode foi projetado para ser escalável e versátil, tornando-o adequado tanto para projetos pequenos quanto para grandes aplicações empresariais que exigem soluções robustas de código de barras.

Hairil Hasyimi 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,317,217 | Versão: 2026.7 recém-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.