Como Editar PDF: Inserir Texto e Imagem com C# e IronPDF
O IronPDF permite editar PDFs inserindo texto, imagens, conteúdo HTML e códigos de barras em documentos existentes em C# usando as 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.
IronPDF fornece quatro carimbos: TextStamper, ImageStamper, HTMLStamper e BarcodeStamper. HTMLStamper utiliza todos os recursos HTML com estilo CSS, semelhante à conversão de strings HTML em PDF .
Início Rápido: Edite PDFs Adicionando Texto Instantaneamente
Use a classe TextStamper do IronPDF para adicionar anotações de texto, marcas d'água ou rótulos a documentos PDF. O exemplo abaixo demonstra como inserir texto em um PDF usando o método ApplyStamp.
-
Instale IronPDF com o Gerenciador de Pacotes NuGet
PM > Install-Package IronPdf -
Copie 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"); -
Implante 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 `ApplyStamp` para 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 amplas opções de personalização, semelhantes ao gerenciamento de fontes em documentos PDF. Use fontes do sistema ou fontes do Google definindo UseGoogleFont como verdadeiro.
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-text.cs
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 com 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 aos 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 .
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-image.cs
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 vários carimbos passando uma matriz de carimbos. Este método processa vários selos de forma eficiente em uma única operação.
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-multiple-stamps.cs
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 quaisquer tipos de carimbo. Combine TextStamper, ImageStamper, HTMLStamper e BarcodeStamper em uma única 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?
Especifique HorizontalOffset e VerticalOffset usando 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
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-location.cs
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)
}
Como faço para carimbar conteúdo HTML?
Use a classe HtmlStamper para carimbar texto e imagens. HtmlStamper renderiza designs HTML com estilo CSS e, em seguida, os aplica a documentos PDF. A propriedade HtmlBaseUrl especifica a URL base para recursos de string 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
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-multiple-stamps.cs
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 inserir no seu PDF. Referências externas a JavaScript, CSS e imagens são relativas aHtmlBaseUrl.HtmlBaseUrl: URL base para referências externas de arquivos CSS, JavaScript e de imagem.CssMediaType: Ativa os estilos CSS "Media" screen. A configuraçãoAllowScreenCss=falserenderiza carimbos usando CSS media="print". Padrão:PdfCssMediaType.Screen.
Por que usar o carimbo HTML em vez do carimbo de texto?
HTMLStamper oferece suporte completo a HTML e CSS para layouts complexos, múltiplas fontes, cores e imagens incorporadas em um único carimbo. Ideal para marcas d'água ou cabeçalhos com conteúdo rico. Mantém uma identidade visual consistente e trabalha com designs CSS responsivos .
Como faço para carimbar códigos de barras?
A classe BarcodeStamper imprime 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
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-text.cs
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 da string do código de barras.BarcodeType: Tipo de codificação compatível com 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 em 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 selos. Valor padrão: 100 (sem efeito).IsStampBehindContent: Coloca o selo atrás do conteúdo. O carimbo pode ficar invisível se o conteúdo for opaco.WaitFor: Aguarda eventos ou tempo. Veja como usar WaitFor para atrasar a renderização do 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 e o tamanho visual. 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
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.

