Stamp Text & Image on PDFs using C# and IronPDF
IronPDF estampa texto, imagens, conteúdo HTML e códigos de barras em documentos PDF existentes em C# usando classes TextStamper, ImageStamper, HTMLStamper e BarcodeStamper com controle preciso de posicionamento.
A função de carimbo sobrepõe conteúdo adicional a documentos PDF existentes. Os carimbos adicionam informações, etiquetas, marcas d'água ou anotações a arquivos PDF. Utilize carimbos para adicionar cabeçalhos e rodapés ou criar marcas d'água personalizadas com os recursos abrangentes de carimbo do IronPDF.
O IronPDF fornece quatro carimbadores: TextStamper, ImageStamper, HTMLStamper e BarcodeStamper. HTMLStamper utiliza todos os recursos HTML com estilo CSS, semelhante a converter strings HTML em PDF.
Usar a classe TextStamper do IronPDF para adicionar anotações de texto, marcas d'água ou rótulos aos documentos PDF. O exemplo abaixo demonstra como estampar texto em um PDF usando o método ApplyStamp.
-
1Install IronPDF with NuGet Package Manager
-
2Copie e execute este trecho de código.
var pdf = new IronPdf.PdfDocument("input.pdf"); var stamper = new IronPdf.Editing.TextStamper() { Text = "Confidential", FontSize = 50, Opacity = 50, VerticalAlignment = IronPdf.Editing.VerticalAlignment.Middle, HorizontalAlignment = IronPdf.Editing.HorizontalAlignment.Center }; pdf.ApplyStamp(stamper); pdf.SaveAs("stamped.pdf");C# -
3Implante para testar em seu ambiente de produção.
Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita
Fluxo de trabalho mínimo (5 etapas)
- Baixe a biblioteca C# para adicionar texto e imagem.
- Crie e configure a classe de carimbo desejada.
- Utilize o método
ApplyStamppara aplicar o carimbo ao PDF. - Aplique vários carimbos usando o método
ApplyMultipleStamps - Especifique as páginas específicas onde os carimbos devem ser aplicados.
Como faço para inserir texto em PDFs?
Crie um objeto TextStamper contendo todas as configurações de exibição. Passe o objeto TextStamper para o método ApplyStamp. A propriedade Text define o texto exibido. Configure a família da fonte, o estilo da fonte e a localização do carimbo.
TextStamper oferece extensas opções de personalização semelhantes a gerenciar fontes em documentos PDF. Use fontes do sistema ou Google Fonts configurando UseGoogleFont para true.
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")Qual é a aparência do PDF gerado?
Como posso criar carimbos de texto com várias linhas?
Use a tag <br> para texto de várias linhas em TextStamper. Por exemplo, "linha 1
A opção "linha 2" produz "linha 1" na primeira linha e "linha 2" na segunda linha. Isso cria carimbos de endereço ou marcas d'água com várias linhas.
Como faço para inserir imagens em PDFs?
Crie um objeto ImageStamper e use o método ApplyStamp para aplicar imagens a documentos. O segundo parâmetro do método aceita um índice de página para carimbar uma ou várias páginas. O exemplo abaixo insere a imagem na página 1 do PDF.
Para operações complexas com imagens, explore a adição de imagens a PDFs ou o trabalho com imagens codificadas em base64 .
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")Qual é a aparência da imagem gerada pelo recurso "Image Stamp"?
Quais formatos de imagem são suportados?
ImageStamper suporta PNG, JPEG, GIF e SVG através de referências URI ou caminhos de arquivo. Garanta a conectividade de rede adequada para imagens remotas. Para ambientes Azure, considere usar imagens do Armazenamento de Blobs do Azure .
Como posso aplicar vários selos?
Use ApplyMultipleStamps para aplicar múltiplos carimbos passando um array de carimbadores. Este método processa vários selos de forma eficiente em uma única operação.
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create two text stampers
TextStamper stamper1 = new TextStamper()
{
Text = "Text stamp 1",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Left,
};
TextStamper stamper2 = new TextStamper()
{
Text = "Text stamp 2",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Right,
};
Stamper[] stampersToApply = { stamper1, stamper2 };
// Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply);
pdf.SaveAs("multipleStamps.pdf");Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create two text stampers
Private stamper1 As New TextStamper() With {
.Text = "Text stamp 1",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Left
}
Private stamper2 As New TextStamper() With {
.Text = "Text stamp 2",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Right
}
Private stampersToApply() As Stamper = { stamper1, stamper2 }
' Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply)
pdf.SaveAs("multipleStamps.pdf")O que acontece quando os selos se sobrepõem?
Posso misturar diferentes tipos de carimbos?
ApplyMultipleStamps aceita arrays contendo qualquer tipo de carimbador. Combine TextStamper, ImageStamper, HTMLStamper e BarcodeStamper em uma operação. Crie layouts de documentos complexos com cabeçalhos, rodapés, marcas d'água e códigos de identificação simultaneamente.
Como faço para controlar a localização do carimbo?
Defina o posicionamento dos carimbos usando uma grade 3x3 com três colunas horizontais e três linhas verticais. Escolha o alinhamento horizontal: esquerda, centro, direita. Escolha o alinhamento vertical: superior, central ou inferior. Ajuste os deslocamentos horizontais e verticais para um posicionamento preciso. Veja a imagem abaixo para uma representação visual.

Quais são as principais propriedades de posicionamento?
HorizontalAlignment: Alinhamento horizontal em relação à página. Padrão:HorizontalAlignment.Center.VerticalAlignment: Alinhamento vertical em relação à página. Padrão:VerticalAlignment.Middle.HorizontalOffset: Deslocamento horizontal. Padrão: 0, unidade:MeasurementUnit.Percentage. Valores positivos deslocam-se para a direita, valores negativos deslocam-se para a esquerda.VerticalOffset: Deslocamento vertical. Padrão: 0, unidade:MeasurementUnit.Percentage. Valores positivos são deslocados para baixo, valores negativos são deslocados para cima.
Como faço para definir deslocamentos precisos?
Especificar HorizontalOffset e VerticalOffset utilizando a classe Length. A unidade de medida padrão é a porcentagem. As unidades disponíveis incluem polegadas, milímetros, centímetros, pixels e pontos. Isso permite um posicionamento preciso, como definir margens personalizadas em documentos PDF.
Código
using IronPdf.Editing;
using System;
// Create text stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Top,
// Specify offsets
HorizontalOffset = new Length(10),
VerticalOffset = new Length(10),
};Imports IronPdf.Editing
Imports System
' Create text stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {
.HorizontalAlignment = HorizontalAlignment.Center,
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalOffset = New Length(10),
.VerticalOffset = New Length(10)
}O IronSuite desempenha um papel crucial nas nossas operações. Estas são ferramentas que aumentam a eficiência no negócio, incluindo a criação de plantas baixas e melhoria na gestão de inventário.
Como faço para carimbar conteúdo HTML?
Use a classe HtmlStamper para estampar texto e imagens. HtmlStamper renderiza projetos HTML com estilo CSS, depois os estampa em documentos PDF. A propriedade HtmlBaseUrl especifica a URL base para ativos de strings HTML como arquivos CSS e de imagem. Este processo utiliza o mesmo mecanismo de renderização que a conversão de HTML para PDF .
Código
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create two text stampers
TextStamper stamper1 = new TextStamper()
{
Text = "Text stamp 1",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Left,
};
TextStamper stamper2 = new TextStamper()
{
Text = "Text stamp 2",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Right,
};
Stamper[] stampersToApply = { stamper1, stamper2 };
// Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply);
pdf.SaveAs("multipleStamps.pdf");Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create two text stampers
Private stamper1 As New TextStamper() With {
.Text = "Text stamp 1",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Left
}
Private stamper2 As New TextStamper() With {
.Text = "Text stamp 2",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Right
}
Private stampersToApply() As Stamper = { stamper1, stamper2 }
' Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply)
pdf.SaveAs("multipleStamps.pdf")Quais são as propriedades essenciais do HTML Stamper?
Html: Fragmento HTML para estampar em seu PDF. Referências externas a JavaScript, CSS e imagens são relativas aHtmlBaseUrl.HtmlBaseUrl: URL base para referências externas a arquivos CSS, JavaScript e de imagem.CssMediaType: Habilita estilos CSS Media="screen". ConfigurarAllowScreenCss=falserenderiza carimbos usando CSS media="print". Padrão:PdfCssMediaType.Screen.
Por que usar o carimbo HTML em vez do carimbo de texto?
HTMLStamper fornece suporte total a HTML e CSS para layouts complexos, múltiplas fontes, cores e imagens incorporadas em um único carimbo. Ideal para marcas d'água de conteúdo rico ou cabeçalhos. Mantém uma identidade visual consistente e trabalha com designs CSS responsivos .
Como faço para carimbar códigos de barras?
A classe BarcodeStamper estampa códigos de barras diretamente em documentos PDF existentes. Compatível com os tipos de código de barras QRCode, Code128 e Code39.
Código
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")Quais opções de configuração estão disponíveis para códigos de barras?
Value: Valor de string do código de barras.BarcodeType: Tipo de codificação suportando QRCode, Code128 e Code39. Padrão: QRCode.Width: Largura do código de barras renderizado em pixels. Padrão: 250px.Height: Altura do código de barras renderizado em pixels. Padrão: 250px.
Quando devo usar cada tipo de código de barras?
O QRCode processa URLs e grandes conjuntos de dados (até 4.296 caracteres alfanuméricos). Code128 é adequado para dados alfanuméricos com requisitos de alta densidade. Code39 funciona para combinações simples de números ou letras maiúsculas. Ao selecionar os tipos de código de barras, leve em consideração a compatibilidade com o equipamento de leitura.
Quais opções adicionais de carimbo estão disponíveis?
Essas propriedades proporcionam um controle preciso sobre a aparência e o comportamento do carimbo, semelhante à criação de marcas d'água personalizadas .
Como controlar a aparência do carimbo?
Opacity: Controla a transparência. 0 é invisível, 100 é opaco.Rotation: Gira o carimbo no sentido horário de 0 a 360 graus.MaxWidth: Largura máxima do carimbo de saída.MaxHeight: Altura máxima do carimbo de saída.MinWidth: Largura mínima do carimbo de saída.MinHeight: Altura mínima do carimbo de saída.Hyperlink: Adiciona um hiperlink ao clicar nos elementos estampados. Observação: os links HTML (tags ) não são preservados pela função de carimbo de data/hora.Scale: Aplica escala percentual aos carimbos. Valor padrão: 100 (sem efeito).IsStampBehindContent: Coloca o carimbo atrás do conteúdo. O carimbo pode ficar invisível se o conteúdo for opaco.WaitFor: Espera por eventos ou tempo. Veja usando WaitFor para atrasar a renderização de PDF.Timeout: Tempo limite de renderização em segundos. Valor padrão: 60.
Quais propriedades são mais comumente usadas?
Opacity e IsStampBehindContent criam marcas d'água. Scale e Rotation ajustam o posicionamento visual e o dimensionamento. Exemplo:
// Create a semi-transparent watermark behind content
TextStamper watermark = new TextStamper()
{
Text = "CONFIDENTIAL",
FontSize = 60,
FontColorCode = "#CCCCCC",
Opacity = 25,
Rotation = -45,
IsStampBehindContent = true,
VerticalAlignment = VerticalAlignment.Middle,
HorizontalAlignment = HorizontalAlignment.Center
};' Create a semi-transparent watermark behind content
Dim watermark As New TextStamper() With {
.Text = "CONFIDENTIAL",
.FontSize = 60,
.FontColorCode = "#CCCCCC",
.Opacity = 25,
.Rotation = -45,
.IsStampBehindContent = True,
.VerticalAlignment = VerticalAlignment.Middle,
.HorizontalAlignment = HorizontalAlignment.Center
}Resumo
A funcionalidade de carimbo do IronPDF adiciona texto, imagens, conteúdo HTML e códigos de barras a documentos PDF existentes. Quatro classes de carimbos especializados, com amplas opções de personalização, criam documentos profissionais com marcas d'água, cabeçalhos, rodapés e anotações. O sistema de posicionamento com diversas unidades de medida e opções de alinhamento garante um posicionamento perfeito em cada pixel. Utilize carimbos de texto simples ou layouts HTML complexos com estilização CSS. A API de carimbo do IronPDF oferece flexibilidade e controle para manipulação de PDFs em nível empresarial.
Perguntas frequentes
Como adiciono uma marca d'água de texto aos meus documentos PDF em C#?
Use a classe TextStamper do IronPDF para adicionar marcas d'água de texto. Crie um objeto TextStamper, defina propriedades como Text, FontSize e Opacity e, em seguida, use o método ApplyStamp. Você pode posicionar as marcas d'água usando as propriedades VerticalAlignment e HorizontalAlignment para um posicionamento preciso.
Posso adicionar imagens como carimbos a arquivos PDF existentes?
Sim, o IronPDF fornece a classe ImageStamper para adicionar imagens a PDFs. Crie um objeto ImageStamper, especifique o arquivo de imagem e use o método ApplyStamp. Você pode controlar o posicionamento e especificar quais páginas devem ser carimbadas usando indexação de página baseada em zero.
Que tipos de conteúdo podem ser impressos em PDFs?
O IronPDF suporta quatro tipos de carimbos: TextStamper para anotações de texto e marcas d'água, ImageStamper para imagens, HTMLStamper para conteúdo HTML com formatação CSS completa e BarcodeStamper para códigos de barras. Cada classe de carimbo oferece controle preciso de posicionamento.
Como faço para criar carimbos de texto com várias linhas?
Use o
Use a tag dentro da propriedade Text do TextStamper para criar carimbos de várias linhas. Por exemplo, 'linha 1
A opção 'linha 2' exibirá o texto em duas linhas separadas, perfeita para criar carimbos de endereço ou marcas d'água com várias linhas.
Posso usar fontes personalizadas ao inserir texto em PDFs?
Sim, o TextStamper no IronPDF suporta fontes do sistema e fontes do Google. Defina a propriedade UseGoogleFont como true para usar as fontes do Google ou especifique qualquer fonte instalada no sistema usando a propriedade FontFamily para controle total da tipografia.
É possível adicionar selos apenas a páginas específicas?
Com certeza. O método ApplyStamp aceita um parâmetro de índice de página que permite adicionar carimbos a páginas específicas. O IronPDF usa indexação baseada em zero, então a página 1 tem índice 0. Você também pode usar ApplyMultipleStamps para adicionar carimbos a várias páginas de uma só vez.
How can I create a semi-transparent watermark with IronPDF?
You can create a semi-transparent watermark using the `Opacity` property in the stamper classes of IronPDF. For example, set `Opacity` to 25 to apply a lightly transparent watermark on the PDF document.
What barcode types can I stamp on PDFs using IronPDF?
IronPDF's `BarcodeStamper` class supports QRCode, Code128, and Code39 barcode types. Each type is suitable for different encoding requirements and can be customized for size and positioning.
Is it possible to add hyperlinks to stamped elements in IronPDF?
Yes, IronPDF allows you to add hyperlinks to stamped elements through the `Hyperlink` property. However, note that HTML links (a tags) aren't preserved by stamping.
Can I use Google Fonts when stamping text on a PDF document?
Yes, IronPDF allows you to use Google Fonts with the `TextStamper`. Set the `UseGoogleFont` property to true and specify the desired font family to use Google Fonts in your text stamps.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.