使用 C# 和 IronPDF 在 PDF 上添加文本和图像印章(PDF编辑)
IronPDF使用 C# 中的 HTMLStamper 和 BarcodeStamper 类,通过精确的定位控制,将文本、图像、HTML 内容和条形码添加到现有的 PDF 文档中。
在现有 PDF 文档上覆盖附加内容。 印章可为 PDF 添加信息、标签、水印或注释。 利用 IronPDF 的全面印章功能,将印章用于添加页眉和页脚或创建自定义水印。
IronPDF提供四个印章:HTMLStamper 和 BarcodeStamper。 HTMLStamper 利用所有 HTML 功能和 CSS 样式,类似于将 HTML 字符串转换为 PDF 。
快速入门:立即在 PDF 上添加文字
使用 IronPDF 的 TextStamper 类向 PDF 文档添加文本注释、水印或标签。 下面的示例演示了如何使用 ApplyStamp 方法在 PDF 上添加文本。
-
使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf
PM > Install-Package 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 对象。 将 TextStamper 对象传递给 ApplyStamp 方法。 Text 属性设置显示的文本。 配置字体系列、字体样式和印章位置。
TextStamper 提供类似于在 PDF 文档中管理字体的广泛自定义选项。 将 UseGoogleFont 设置为 true,即可使用系统字体或 Google 字体。
: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 是什么样子?
如何创建多行文本印章?
在 TextStamper 中使用 <br> 标签表示多行文本。 例如,"行 1
行 2 "在第一行产生 "行 1",在第二行产生 "行 2"。这样就可以创建地址戳或多行水印。
如何在 PDF 上加盖图像?
创建一个 ImageStamper 对象,并使用 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")
当印章重叠时会发生什么?
我可以混合使用不同类型的印章吗?
ApplyMultipleStamps 接受包含任何印章类型的数组。将 HTMLStamper 和 BarcodeStamper 合并到一个操作中。 同时创建带有页眉、页脚、水印和识别码的复杂文档布局。
如何控制图章位置?
使用 3x3 网格(横向三列,纵向三行)定义图章位置。 选择水平对齐方式:左对齐、居中对齐、右对齐。 选择垂直对齐方式:上、中、下。 调整水平和垂直偏移以实现精确定位。 请参见下图,以获得直观的说明。
关键定位属性是什么?
HorizontalAlignment: 相对于页面的水平对齐方式。 默认值:HorizontalAlignment.Center。VerticalAlignment: 相对于页面的垂直对齐方式。 默认值:VerticalAlignment.Middle。HorizontalOffset: 水平偏移。 默认值:0,单位:MeasurementUnit.Percentage。 正值向右偏移,负值向左偏移。VerticalOffset: 垂直偏移。 默认值:0,单位:MeasurementUnit.Percentage。 正值向下偏移,负值向上偏移。
如何设置精确偏移?
使用 Length 类指定 HorizontalOffset 和 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。
哪些属性最常用?
Opacity 和 IsStampBehindContent 创建水印。 Scale 和 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 文档中添加文本水印?
使用 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 一次为多个页面添加图章。

