如何在 PDF 文件上印制文字和图像
在PDF上盖章文字和图像涉及在现有的PDF文档上叠加额外内容。 此内容通常被称为“印章”,可以是文本、图像或两者的组合。 邮票通常用于在PDF中添加信息、标签、水印或注释。
IronPdf中可以使用共4个印章工具。 本文将讨论TextStamper、ImageStamper、HTMLStamper和BarcodeStamper。 HTMLStamper尤其强大,因为它可以利用所有HTML功能以及CSS样式。
开始使用IronPDF
立即在您的项目中开始使用IronPDF,并享受免费试用。
How to Stamp Text & Image on PDFs
- 下载用于文本和图像标记的C#库
- 创建和配置所需的定型器类别
- 使用
ApplyStamp
方法将印章应用于PDF - 使用
ApplyMultipleStamps
方法应用多个印章 - 指定特定页面以应用印章
印章文字示例
首先,从TextStamper类创建一个对象。 此对象将包含所有配置,用于指定我们希望文本印章如何显示。 将TextStamper对象传递给ApplyStamp
方法。 Text 属性将是显示的文本。 此外,我们可以指定字体家族、字体样式以及印章的位置。
: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");
输出 PDF
要在TextStamper中实现多行文本,请像在HTML中一样使用<br>标签。 例如,"line 1 <br> line 2" 将在第一行产生 "line 1",在第二行产生 "line 2"。
戳图示例
与文本加盖器类似,我们首先从ImageStamper类创建一个对象,然后使用ApplyStamp
方法将图像应用于文档。 此方法的第二个参数还接受一个页面索引,可用于在单个或多个页面上应用印章。 在下面的示例中,我们指定应在PDF的第1页上盖章图像。
提示
: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");
输出 PDF
应用多个印章
使用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");
输出 PDF
邮票位置
要定义印章的放置位置,我们使用一个3x3网格,该网格包括三个水平列和三个垂直行。 您可以选择水平对齐方式:左、中、右,以及垂直对齐方式:顶部、中间和底部。 为了提高精确度,您可以调整每个位置的水平和垂直偏移量。 请参考下面的图片,以获得这一概念的视觉表现。

- HorizontalAlignment:相对于页面的印章水平对齐。 默认设置为HorizontalAlignment.Center。
- VerticalAlignment:印章相对于页面的垂直对齐方式。 默认设置为VerticalAlignmentCenter.Middle。
- HorizontalOffset:水平偏移。 默认值为 0, 默认单位为 IronPdf.Editing.MeasurementUnit.Percentage。 正值表示向右偏移,负值表示向左偏移。
-
VerticalOffset:垂直偏移。 默认值为 0, 默认单位为 IronPdf.Editing.MeasurementUnit.Percentage。 正值表示向下偏移,负值表示向上偏移。
要指定HorizontalOffset和VerticalOffset属性,我们实例化Length类。 默认的长度测量单位是百分比,但它也能使用英寸、毫米、厘米、像素和点等测量单位。
代码
: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),
};
Stamp HTML 示例
我们可以使用另一个印章类来同时盖章文本和图片。 HtmlStamper 类可用于渲染带有 CSS 样式的 HTML 设计,然后将其盖在 PDF 文档上。 HtmlBaseUrl 属性用于指定 HTML 字符串资源(如 CSS 和图像文件)的基本 URL。
代码
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-html.cs
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");
- Html:要加盖到您的PDF上的HTML片段。 所有对JavaScript、CSS和图像文件的外部引用都将相对于Stamper Class的HtmlBaseUrl属性。
- HtmlBaseUrl:用于引用外部 CSS、Javascript 和图像文件的 HTML 基础 URL。
- CssMediaType: 启用 Media="screen" 的 CSS 样式和样式表。 通过将 AllowScreenCss 设置为 false,IronPdf 使用适用于 media="print" 的 CSS 从 HTML 渲染印章,就像在浏览器打印对话框中打印网页一样。 默认值为 PdfCssMediaType.Screen。
条形码示例
BarcodeStamper 类可以用于直接在现有的 PDF 文档上加盖条形码。 该印章器支持包括QRCode、Code128和Code39在内的条形码类型。
代码
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-barcode.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create barcode stamper
BarcodeStamper barcodeStamper = new BarcodeStamper("IronPdf!!", BarcodeEncoding.Code39)
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the barcode stamper
pdf.ApplyStamp(barcodeStamper);
pdf.SaveAs("stampBarcode.pdf");
- 值: 条形码的字符串值。
- BarcodeType: 条形码的编码类型,支持的类型包括 QRCode、Code128 和 Code39。默认值是 QRCode。
- 宽度:所呈现条形码的像素宽度。 默认为250px。
- 高度:渲染条形码的像素高度。 默认为250px。
探索印章选项
除了上面提到并解释的选项之外,下面是给印章类可用的更多选项。
- 不透明度:允许图章变为透明。 0 是完全透明的,100 是完全不透明的。
- 旋转:按照指定的角度,将印章顺时针旋转0到360度。
- MaxWidth:输出印章的最大宽度。
- MaxHeight:输出印章的最大高度。
- MinWidth:输出印章的最小宽度。
- 最小高度:输出印章的最小高度。
- 超链接:让该Stamper的标记元素具有点击时的超链接功能。 注意:由 link(a) 标签创建的 HTML 链接不会通过 stamping 保留。
- 比例:对印章应用百分比缩放以使其变大或变小。 默认值为100(百分比),无影响。
- IsStampBehindContent:设置为true可将印章应用于内容之后。 如果内容不透明,印章可能会看不见。
- WaitFor:一个便捷的包装器,用于等待各种事件或仅等待一段时间。
- 超时:以秒为单位的渲染超时。 默认值为60。