使用IRONPDF

如何在C#中添加PDF印章

更新 2024年三月24日
分享:

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

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

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

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

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

4.条码篡改器(BarcodeStamper)用于篡改条码:BarcodeStamper 简化了在 PDF 中添加条形码的过程。无论是在已签名的文档、临时文件还是文件附件中进行跟踪,这款条形码标记器都能确保将条形码高效集成到 PDF 中。

5.BarcodeStamper 可印制 QR 码:BarcodeStamper 专为在 PDF 上放置 QR 码而设计。这款印章器非常适合创建交互式内容或文件附件,可让您在同一页或其他 PDF 文档中嵌入 QR 码,确保轻松访问其他信息。

这些专门的印章器类别便于用户使用各种元素轻松增强 PDF 文档,从基本文本到复杂的 HTML 设计和动态条形码。本文将探讨三种主要印章器的功能: TextStamper, ImageStamperHTMLStamper.HTMLStamper 的功能特别强大,因为它可以利用所有 HTML 功能和 CSS 样式,为印章制作过程增添了额外的多功能性。

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

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

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

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

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

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

在 PDF 文件中配置和应用文字印章

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

此外,还可以指定字体系列、字体样式以及图章的位置。这种自定义功能还可扩展到交互式元素、文件描述以及相同或其他 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 中配置和应用图章

与文本印章类似,从 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 文档中指定图章位置

要定义图章的位置,可使用一个 3x3 网格,其中有三列水平行和三列垂直行。水平对齐方式有左、中、右三种,垂直对齐方式有上、中、下三种。您可以调整水平和垂直偏移,以提高每个位置的精确度。请参考下图,直观了解这一概念。

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

PDF stamper 定位

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

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

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 图章

还有一种图章类可用于为文本和图像盖章。印章类 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 选项

除了上文提到和解释的选项外,以下是更多可供 Stamper 类使用的选项。

  • 不透明度:允许图章透明。0 表示完全不可见,100 表示完全不透明。
  • 旋转:将图章按指定的顺时针方向旋转 0 至 360 度。
  • MaxWidth:输出图章的最大宽度。
  • MaxHeight:最大高度:输出图章的最大高度。
  • MinWidth:输出印章的最小宽度。
  • MinHeight:最小高度:输出印章的最小高度。
  • 超链接:使该印章器的印章元素具有单击超链接。注:通过 link(a) 标签不通过戳记保留。
  • 刻度:对图章应用百分比比例,使其变大或变小。默认值为 100 (百分比)没有任何效果。
  • IsStampBehindContent:设置为 "true "可在内容后面应用图章。如果内容不透明,图章可能不可见。
  • WaitFor(等待一个方便的包装器,用于等待各种事件或某个时间。

  • Timeout(超时):渲染超时,单位为秒。默认值为 60。

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

结论

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

易用性和实用示例展示了文本和图像图章的应用,使不同技术专长的用户都能使用。印章选项包括不透明度、旋转和缩放,为用户轻松定制 PDF 提供了全面的工具包。IronPDF 的图章功能是一款可靠、高效的工具,能让用户轻松提升 PDF 文档的品质。

本质上 IronPDF 轻松提升 PDF 文件,满足基本和高级需求,包括 提取嵌入的文本和图像, 处理 PDF 表格, 合并或分割 PDF 文件使用 自定义页眉和页脚 编程。咨询或功能请求、 我们的支持团队 随时准备提供帮助。

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

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

免费NuGet下载 总下载量: 10,731,156 查看许可证 >