Stamp Text & Image on PDFs using C# and IronPDF
IronPDF在已有的PDF文档上添加文本、图片、HTML内容和条形码,在C#中使用BarcodeStamper类实现精确位置控制。
在现有 PDF 文档上覆盖附加内容。 印章可为 PDF 添加信息、标签、水印或注释。 利用 IronPDF 的全面印章功能,将印章用于添加页眉和页脚或创建自定义水印。
IronPDF提供四种盖章器:BarcodeStamper。 HTMLStamper利用所有HTML特性和CSS样式,类似于将HTML字符串转换为PDF。
快速入门:立即在 PDF 上添加文字
使用IronPDF的TextStamper类将文本注释、水印或标签添加到PDF文档中。 下面的示例演示了使用ApplyStamp方法在PDF上盖章文本。
-
使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf
-
复制并运行这段代码。
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"); -
部署到您的生产环境中进行测试
通过免费试用立即在您的项目中开始使用IronPDF
最小工作流程(5 个步骤)
- 下载 C# 库以在文本和图像上盖章。
- 创建并配置所需的印戳类
- 使用
ApplyStamp方法将图章应用到 PDF 中 - 使用
ApplyMultipleStamps方法应用多个图章 - 指定特定页面以应用印戳
如何在 PDF 上加印文本?
创建一个包含所有显示配置的TextStamper对象。 将ApplyStamp方法。 Text属性设置显示的文本。 配置字体系列、字体样式和印章位置。
TextStamper提供与管理PDF文档中的字体类似的广泛定制选项。 通过将UseGoogleFont设置为true使用系统字体或谷歌字体。
: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")
输出的 PDF 是什么样子?
如何创建多行文本印章?
在<br>标签用于多行文本。 例如,"行 1
行 2 "在第一行产生 "行 1",在第二行产生 "行 2"。这样就可以创建地址戳或多行水印。
如何在 PDF 上加盖图像?
创建一个ApplyStamp方法将图像应用到文档。 该方法的第二个参数接受一个页面索引,用于标记单个或多个页面。 以下示例为 PDF 第 1 页的图片加盖了印章。
对于复杂的图像操作,请探索 将图像添加到 PDF 或使用 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")
图章输出是什么样的?
支持哪些图像格式?
ImageStamper通过URI引用或文件路径支持PNG、JPEG、GIF和SVG。 确保远程图像的正确网络连接。 对于 Azure 环境,可考虑使用 来自 Azure Blob Storage 的图像。
如何应用多个印章?
使用ApplyMultipleStamps通过传递贴图器数组应用多个盖章。 这种方法可以在一次操作中高效处理多个邮票。
: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")
当印章重叠时会发生什么?
我可以混合使用不同类型的印章吗?
BarcodeStamper。 同时创建带有页眉、页脚、水印和识别码的复杂文档布局。
如何控制图章位置?
using 3x3 网格(横向三列,纵向三行)定义图章位置。 选择水平对齐方式:左对齐、居中对齐、右对齐。 选择垂直对齐方式:上、中、下。 调整水平和垂直偏移以实现精确定位。 请参见下图,以获得直观的说明。
关键定位属性是什么?
HorizontalAlignment:相对于页面的水平对齐。 默认:HorizontalAlignment.Center。VerticalAlignment:相对于页面的垂直对齐。 默认:VerticalAlignment.Middle。HorizontalOffset:水平偏移。 默认:0,单位:MeasurementUnit.Percentage。 正值向右偏移,负值向左偏移。VerticalOffset:垂直偏移。 默认:0,单位:MeasurementUnit.Percentage。 正值向下偏移,负值向上偏移。
如何设置精确偏移?
使用VerticalOffset。 默认计量单位为百分比。 可用单位包括英寸、毫米、厘米、像素和点。 这样就可以实现精确定位,如在 PDF 文档中设置自定义页边距。
代码
: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)
}
如何在 HTML 内容上盖章?
使用HtmlStamper类盖章文本和图像。 HtmlStamper渲染带有CSS样式的HTML设计,然后将其盖在PDF文档上。 HtmlBaseUrl属性指定HTML字符串资产(如CSS和图像文件)的基本URL。 这与 将 HTML 转换为 PDF 使用相同的渲染引擎。
代码
: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")
哪些是基本的 HTML Stamper 属性?
Html:要盖在PDF上的HTML片段。 对于JavaScript、CSS和图像的外部引用是相对于HtmlBaseUrl。HtmlBaseUrl:外部CSS、JavaScript和图像文件引用的基本URL。CssMediaType:启用Media="screen"的CSS样式。 设置AllowScreenCss=false使用CSS media="print"渲染盖章。 默认:PdfCssMediaType.Screen。
为什么使用 HTML Stamper 而不是 Text Stamper?
HTMLStamper为复杂的布局、多种字体、颜色和嵌入图像提供完整的HTML和CSS支持,适合用于丰富内容水印或标题。 保持一致的品牌形象,并与响应式 CSS 设计配合使用。
如何给 BarCode 打印章?
BarcodeStamper类直接在现有PDF文档上盖章条形码。 支持 QRCode、Code128 和 Code39 条码类型。
代码
: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")
条形码有哪些配置选项?
Value:条形码的字符串值。BarcodeType:支持QRCode、Code128和Code39的编码类型。默认:QRCode。Width:渲染的条形码宽度,单位为像素。 默认值:250px。Height:渲染的条形码高度,单位为像素。 默认值:250px。
何时使用每种条形码类型?
QRCode 可处理 URL 和大型数据集(最多可达 4296 个字母数字字符)。 Code128适合需要高密度的字母数字数据。 Code39适用于简单的数字或大写字母组合。 选择条形码类型时要考虑扫描设备的兼容性。
还有哪些 Stamper 选项?
这些属性提供了对图章外观和行为的精细控制,类似于 创建自定义水印。
如何控制印章外观?
Opacity:控制透明度。 0 表示不可见,100 表示不透明。Rotation:顺时针旋转盖章从0到360度。MaxWidth:输出盖章的最大宽度。MaxHeight:输出盖章的最大高度。MinWidth:输出盖章的最小宽度。MinHeight:输出盖章的最小高度。Hyperlink:为盖章元素添加点击链接。 注意:HTML 链接(a 标记)不会因加盖戳记而被保留。Scale:将百分比比例应用于盖章。 默认值:100(无影响)。IsStampBehindContent:将盖章放在内容后面。 如果内容不透明,则可能看不到图章。WaitFor:等待事件或时间。请参阅使用 WaitFor 延迟PDF渲染。Timeout:渲染超时时间,以秒为单位。 默认值:60。
哪些属性最常用?
IsStampBehindContent创建水印。 Rotation调整视觉定位和尺寸。 例:
// 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
}
摘要
IronPDF 的盖章功能可在现有 PDF 文档中添加文本、图像、HTML 内容和条形码。 四种具有广泛自定义选项的专业标注类可创建带有水印、页眉、页脚和注释的专业文档。 带有各种测量单位和对齐选项的定位系统可确保像素完美定位。 使用简单的文本图章或带有 CSS 风格的复杂 HTML 布局。 IronPDF 的戳记 API 为企业级 PDF 操作提供了灵活性和控制性。
常见问题解答
如何用 C# 在 PDF 文档中添加文本水印?
using IronPDF 的 TextStamper 类添加文本水印。创建一个 TextStamper 对象,设置 Text、FontSize 和 Opacity 等属性,然后使用 ApplyStamp 方法。您可以使用 VerticalAlignment 和 HorizontalAlignment 属性对水印进行定位,以便精确放置。
能否在现有 PDF 文件中添加图像作为图章?
是的,IronPDF 提供了 ImageStamper 类,用于向 PDF 添加图像。创建一个 ImageStamper 对象,指定图像文件,然后使用 ApplyStamp 方法。您可以使用基于零的页面索引来控制定位并指定要盖印的页面。
哪些类型的内容可以印制到 PDF 上?
IronPDF 支持四种类型的图章:TextStamper 用于文本注释和水印,ImageStamper 用于图像,HTMLStamper 用于具有完整 CSS 风格的 HTML 内容,BarcodeStamper 用于条形码。每个戳记类都提供精确的定位控制。
如何创建多行文本标记?
在 TextStamper 的 Text 属性中使用
标记来创建多行标记。例如,"line 1
line 2 "将在两个独立的行上显示文本,非常适合创建地址戳记或多行水印。
在 PDF 上印制文本时可以使用自定义字体吗?
是的,IronPDF 中的 TextStamper 支持系统字体和 Google 字体。将 UseGoogleFont 属性设为 true 即可使用 Google 字体,或使用 FontFamily 属性指定任何已安装的系统字体,以实现完全的排版控制。
是否可以只在特定页面上添加印章?
当然可以。ApplyStamp 方法接受一个页面索引参数,允许您对特定页面加盖戳记。IronPDF 使用基于零的索引,因此第 1 页为索引 0。您还可以使用 ApplyMultipleStamps 一次为多个页面添加图章。

