# 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](https://ironpdf.com/how-to/headers-and-footers/) 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](https://ironpdf.com/how-to/html-string-to-pdf/).
*as-heading:2(Início Rápido: Adicione texto a PDFs instantaneamente)*
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`.
```cs
:title=Stamp PDFs Effortlessly
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");
```
<div class="hsg-featured-snippet">
<h3>Fluxo de trabalho mínimo (5 etapas)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://www.nuget.org/packages/IronPdf/">Baixe a biblioteca C# para adicionar texto e imagem.</a></li>
<li>Crie e configure a classe de carimbo desejada.</li>
<li>Utilize o método <code>ApplyStamp</code> para aplicar o carimbo ao PDF.</li>
<li>Aplique vários carimbos usando o método <code>ApplyMultipleStamps</code></li>
<li>Especifique as páginas específicas onde os carimbos devem ser aplicados.</li>
</ol>
</div>
<br class="clear" />
## 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](https://ironpdf.com/how-to/manage-fonts/) em documentos PDF. Use fontes do sistema ou Google Fonts configurando `UseGoogleFont` para true.
```csharp
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");
```
### Qual é a aparência do PDF gerado?
<iframe loading="lazy" src="/static-assets/pdf/how-to/stamp-text-image/stampText.pdf" width="100%" height="400px">
</iframe>
### 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<br /> 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.
<hr />
## 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.
[[t:(Todos os índices de página seguem a indexação baseada em zero.)]]
Para operações complexas com imagens, explore [a adição de imagens a PDFs](https://ironpdf.com/how-to/add-images-to-pdfs/) ou o trabalho com [imagens codificadas em base64](https://ironpdf.com/how-to/base-urls/) .
```csharp
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");
```
### Qual é a aparência da imagem gerada pelo recurso "Image Stamp"?
<iframe loading="lazy" src="/static-assets/pdf/how-to/stamp-text-image/stampImage.pdf" width="100%" height="400px">
</iframe>
### 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](https://ironpdf.com/how-to/images-azure-blob-storage/) .
<hr />
## 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.
```csharp
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");
```
### O que acontece quando os selos se sobrepõem?
<iframe loading="lazy" src="/static-assets/pdf/how-to/stamp-text-image/multipleStamps.pdf" width="100%" height="400px">
</iframe>
### 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.
<hr />
## 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.
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/how-to/stamp-text-image/stamp-location.webp" alt="Grade de alinhamento da API de estampagem do IronPDF mostrando opções de posicionamento horizontal/vertical e exemplos de deslocamento." class="img-responsive add-shadow" />
</div>
</div>
### 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](https://ironpdf.com/how-to/custom-margins/) em documentos PDF.
### Código
```csharp
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),
};
```
<hr />
## 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](https://ironpdf.com/how-to/html-string-to-pdf/) .
### Código
```csharp
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");
```
### 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 a `HtmlBaseUrl`.
- `HtmlBaseUrl`: URL base para referências externas a arquivos CSS, JavaScript e de imagem.
- `CssMediaType`: Habilita estilos CSS Media="screen". Configurar `AllowScreenCss=false` renderiza 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](https://ironpdf.com/how-to/html-to-pdf-responsive-css/) .
<hr />
## 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
```csharp
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");
```
<iframe loading="lazy" src="/static-assets/pdf/how-to/stamp-text-image/stampBarcode.pdf" width="100%" height="300px">
</iframe>
### 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.
<hr />
## 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](https://ironpdf.com/how-to/custom-watermark/) .
### 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 <a>) não são preservados pela função de carimbo de data/hora.</a>
- `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](https://ironpdf.com/how-to/waitfor/).
- `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:
```csharp
// 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
};
```
## 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.
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.
Início Rápido: Adicione texto a PDFs instantaneamente
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
PM > Install-Package IronPdf
Install-Package IronPdf
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");
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.
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 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 stamperTextStamper textStamper = new TextStamper(){Text = "Text Stamper!",FontFamily = "Bungee Spice",UseGoogleFont = true,FontSize = 30,IsBold = true,IsItalic = true,VerticalAlignment = VerticalAlignment.Top,};// Stamp the text stamperpdf.ApplyStamp(textStamper);pdf.SaveAs("stampText.pdf");
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");
ImportsIronPdfImportsIronPdf.EditingPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")' Create text stamperPrivate 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 stamperpdf.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.
Pontas: Todos os índices de página seguem a indexação baseada em zero.
using IronPdf;using IronPdf.Editing;using System;ChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");// Create image stamperImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")){VerticalAlignment = VerticalAlignment.Top,};// Stamp the image stamperpdf.ApplyStamp(imageStamper, 0);pdf.SaveAs("stampImage.pdf");
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");
ImportsIronPdfImportsIronPdf.EditingImportsSystemPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")' Create image stamperPrivate imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}' Stamp the image stamperpdf.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 stampersTextStamper 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 stampspdf.ApplyMultipleStamps(stampersToApply);pdf.SaveAs("multipleStamps.pdf");
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");
ImportsIronPdfImportsIronPdf.EditingPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")' Create two text stampersPrivate 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() AsStamper = { stamper1, stamper2 }' Apply multiple stampspdf.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 stamperImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")){HorizontalAlignment = HorizontalAlignment.Center,VerticalAlignment = VerticalAlignment.Top, // Specify offsetsHorizontalOffset = new Length(10),VerticalOffset = new Length(10),};
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),
};
ImportsIronPdf.EditingImportsSystem' Create text stamperPrivate 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)}
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)
}
Minha biblioteca favorita desse tipo é o IronPDF. Ele permite a manipulação rápida e eficiente de arquivos PDF. Além disso, possui muitos recursos valiosos, como a exportação para o formato PDF/A e a assinatura digital de documentos PDF.
Com o IronOCR, podemos economizar US$ 40.000 por ano em processamento manual, ao mesmo tempo que aumentamos a produtividade e liberamos recursos para tarefas de alto impacto. Eu o recomendo fortemente.
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.
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 stampersTextStamper 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 stampspdf.ApplyMultipleStamps(stampersToApply);pdf.SaveAs("multipleStamps.pdf");
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");
ImportsIronPdfImportsIronPdf.EditingPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")' Create two text stampersPrivate 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() AsStamper = { stamper1, stamper2 }' Apply multiple stampspdf.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 a HtmlBaseUrl.
HtmlBaseUrl: URL base para referências externas a arquivos CSS, JavaScript e de imagem.
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 stamperTextStamper textStamper = new TextStamper(){Text = "Text Stamper!",FontFamily = "Bungee Spice",UseGoogleFont = true,FontSize = 30,IsBold = true,IsItalic = true,VerticalAlignment = VerticalAlignment.Top,};// Stamp the text stamperpdf.ApplyStamp(textStamper);pdf.SaveAs("stampText.pdf");
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");
ImportsIronPdfImportsIronPdf.EditingPrivate renderer As New ChromePdfRenderer()Private pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")' Create text stamperPrivate 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 stamperpdf.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?
' Create a semi-transparent watermark behind contentDim watermark As New TextStamper() With { .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.