使用IRONPDF

如何在C#中添加PDF印章

更新 2024年三月24日
分享:

在PDF上盖章文字和图像涉及在现有的PDF文档上叠加额外内容。 这些内容通常被称为 "图章",可以是文字、图片或组合。 通常情况下,用户使用图章在 PDF 上添加信息、标签、水印或注释。

IronPDFAdobe Acrobat Reader 提供了一个用户友好的多功能解决方案,可定制 PDF 内容以满足各种需求。 Stamper 抽象类是 IronPDF 冲压方法中的一个关键组件,适用于一系列专门的冲压类,每个冲压类都是为特定目的而设计的。

  1. TextStamper:TextStamper 是您为 PDF 添加描述性文本的解决方案。 无论您是要增强现有文档、在同一页面上放置文本,还是要整合其他 PDF 文档中的细节,这款定格器都能让您用文件描述和信息来定制文件。

  2. ImageStamper:ImageStamper 是在 PDF 文件中放置图片的首选工具。 无论是文件描述的徽标、现有文档的插图,还是同一页面或其他 PDF 文档的视觉元素,该印章都能确保图像的无缝整合。

  3. HtmlStamper:HtmlStamper 将自定义功能提升到了一个新的水平,让您可以在 PDF 上添加 HTML 内容。 这包括创建交互式内容、描述和文件规格等动态元素,提供超越传统 PDF 定制的灵活性。

  4. BarcodeStamper 可在条形码上盖章:BarcodeStamper 简化了在 PDF 中添加条形码的过程。 无论是在签名文件、临时文件还是文件附件中进行跟踪,该印章都能确保将 BarCode 有效地集成到您的 PDF 中。

  5. 用于加盖 QR 代码的 BarcodeStamper:BarcodeStamper 专门用于在 PDF 上放置 QR 代码。 该印章非常适合创建交互式内容或文件附件,可让您在同一页面或其他 PDF 文档中嵌入二维码,确保轻松获取更多信息。

    这些专门的 stamper 类方便用户使用各种元素轻松增强 PDF 文档,从基本文本到复杂的 HTML 设计和动态 BarCode。 本文将探讨三种主要印章器的功能:使用 TextStamper 添加文本, 使用 ImageStamper 放置图片将 HTML 与 HtmlStamper 集成. HTMLStamper 的功能特别强大,因为它可以利用所有 HTML 功能和 CSS 样式,为加盖过程增添了额外的多功能性。

如何在 PDF 文件上印制文字和图像

  1. 下载 C# 库,为文本和图像盖章。

  2. 创建并配置所需的 stamper 类。

  3. 使用 "ApplyStamp "方法将印章应用到 PDF。

  4. 使用 "ApplyMultipleStamps "方法应用多个图章。

  5. 指定要使用印章的特定页面。

在 PDF 中配置和应用文本印章

首先,从 TextStamper 类中创建一个对象,以支持 PDF 中的文本戳记。 该类的对象包含所有配置,用于指定文本定格器的显示方式。 将 textStamper 对象传递给 "ApplyStamp "方法。 文本属性定义了要在 PDF 上显示的内容。

此外,还可以指定字体系列、字体样式以及 Stamp 的位置。这种定制还可扩展到交互式元素、文件描述以及相同或其他 PDF 上的现有内容。 然后,以实际文件名导出 PDF。

完成配置后,用指定的文件名导出输出 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");
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")
VB   C#

在 PDF 中配置和应用图章

与文本 Stamper 类似,从 ImageStamper 类中创建一个对象,然后使用ImageStamper 应用方法将图像应用到文档中。 该方法的第二个参数还包含一个页面索引,使印章应用可以指向单个或多个页面。 这一特定实例可以指示系统将图片作为图章使用,尤其是在 PDF 的第一页。

所有页面索引都采用基于零的索引方式。

using IronPdf;
using IronPdf.Editing;

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");
using IronPdf;
using IronPdf.Editing;

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

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")
VB   C#

应用多个印章

要在文档中添加多个图章,请使用以下方法应用多个印章在 IronPDF 中,通过传递一个戳记数组。 它可以让您一次性添加文本、图像或标签等各种元素。 本例中创建了两个具有不同文本和对齐方式的文本图章,"pdf.ApplyMultipleStamps "将两个图章都应用到 PDF 中,最终文档保存为 "multipleStamps.pdf"。 这种方法简化了添加各种图章的过程,提供了一种便捷的方法,用多个元素来增强 PDF,无论是在同一页面、另一个 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");
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")
VB   C#

在 PDF 文档中指定图章位置

要确定 Stamp 的位置,请使用 3x3 网格,横向三列,纵向三行。 水平对齐方式有左、中、右三种,垂直对齐方式有上、中、下三种。 您可以调整水平和垂直偏移,以提高每个位置的精确度。 请参考下面的图片,以获得这一概念的视觉表现。

如何在 C# 中添加 PDF Stamper,图 1:PDF Stamper 定位

PDF stamper 定位

  • 水平对齐:Stamp 相对于页面的水平对齐方式。
  • 垂直对齐:邮票相对于页面的垂直对齐方式。
  • 水平偏移:水平偏移。 默认值为 0,默认单位为 IronPdf.Editing.MeasurementUnit.Percentage。 正值表示向右偏移,负值表示向左偏移。
  • 垂直偏移:垂直偏移。 默认值为 0,默认单位为 IronPdf.Editing.MeasurementUnit.Percentage。 正值表示向下偏移,负值表示向上偏移。

    要指定 HorizontalOffsetVerticalOffset 属性,请实例化指定长度类别详细测量。 长度 "的默认测量单位是百分比,但也可以使用英寸、毫米、厘米、像素和点等测量单位。

using IronPdf.Editing;

// 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),
};
using IronPdf.Editing;

// 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

' 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)
}
VB   C#

在 PDF 中配置和应用 HTML 图章

还有一种印章类可用于印制文本和图像。 "(《世界人权宣言》)用于 HTML 集成的 HtmlStamper 类可以渲染带有 CSS 样式的 HTML 设计,并将其印制到 PDF 文档中。 InnerHtmlBaseUrl 属性用于指定 HTML 字符串资产(如 CSS 和图像文件)的基础 URL。

HtmlStamper类应用于 PDF。 该印章对象包括图片和文本,您可以在要印到 PDF 上的 HTML 片段中定义这些内容。 所有对 JavaScript、CSS 和图片文件的外部引用都将相对于内部的Html` 属性。 该代码允许您根据 HTML 内容中提到的特定文件规格定制 PDF。 最后,修改后的 PDF 将以文件名 "stampHtml.pdf "保存。

using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create HTML stamper
HtmlStamper htmlStamper = new HtmlStamper()
{
    Html = @"<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg'>
    <h1>Iron Software</h1>",
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the HTML stamper
pdf.ApplyStamp(htmlStamper);

pdf.SaveAs("stampHtml.pdf");
using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create HTML stamper
HtmlStamper htmlStamper = new HtmlStamper()
{
    Html = @"<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg'>
    <h1>Iron Software</h1>",
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the HTML stamper
pdf.ApplyStamp(htmlStamper);

pdf.SaveAs("stampHtml.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create HTML stamper
Private htmlStamper As New HtmlStamper() With {
	.Html = "<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg'>
    <h1>Iron Software</h1>",
	.VerticalAlignment = VerticalAlignment.Top
}

' Stamp the HTML stamper
pdf.ApplyStamp(htmlStamper)

pdf.SaveAs("stampHtml.pdf")
VB   C#

HTML Stamper 选项

除了上面提到和解释的选项外,下面还有更多选项可供标注类使用。

  • 不透明度:允许图章透明。 0 表示完全不可见,100 表示完全不透明。
  • 旋转:按指定的顺时针方向将图章旋转 0 至 360 度。
  • MaxWidth:输出印章的最大宽度。
  • 最大高度:输出图章的最大高度。
  • MinWidth:输出印章的最小宽度。
  • 最小高度:输出图章的最小高度。
  • 超链接:使该 Stamper 的盖章元素具有点击超链接。 注意:HTML链接由link创建(a)标签不由印章保留。
  • 刻度:对邮票应用百分比缩放,使其变大或变小。 默认为 100(百分比),这没有影响。
  • IsStampBehindContent:设置为 "true "可在内容后面应用印章。 如果内容不透明,则可能看不到印章。
  • WaitFor:一个方便的封装,用于等待各种事件或某个时间。
  • 超时:渲染超时,以秒为单位。 默认值为60。

    IronPDF 的 stamper 选项提供高级定制功能,允许用户通过透明度、精确旋转和控制尺寸来增强 PDF。 超链接和缩放等功能有助于将所有交互式元素纳入其中,同时遵守文件规范并只强调内容。 IsStampBehindContent 选项对图章进行了战略性定位,确保它们是同一对象的一部分,而不是字段的一部分。 同时,WaitFor 功能可有效管理渲染事件,使 IronPDF 成为 PDF 定制(包括原始页面旋转)的多功能工具。

结论

总之、IronPDF 的 Stamper 功能PDF 文件增强工具为增强 PDF 文档提供了一个多功能、用户友好的解决方案。 无论是添加简单的文本标签、整合图片,还是利用 HTMLStamper 的 HTML 和 CSS 功能,IronPDF 都能满足广泛的定制需求。

文本和图像印章的易用性和实际应用实例使不同技术专长的用户都能使用。印章选项包括不透明度、旋转和缩放,为用户轻松定制 PDF 提供了全面的工具包。 IronPdf 的 stamper 功能作为一种可靠、高效的工具脱颖而出,使用户能够轻松提升 PDF 文档的质量。

本质上掌握 IronPDF 的 PDF 增强功能轻松提升 PDF 文件,满足基本和高级需求,包括提取嵌入文本和图像, 轻松处理 PDF 表单, 高效合并或拆分 PDF 文件使用自定义页眉和页脚设置 PDF 格式编程。 如需咨询或功能请求,请联系IronPDF 支持团队随时准备提供帮助。

< 前一页
如何在 .NET 中将 PDF 转换为 Tiff 文件
下一步 >
如何在C#中读取PDF文件

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,781,565 查看许可证 >