如何应用自定义 PDF 水印

This article was translated from English: Does it need improvement?
Translated
View the article in English

查克尼特·宾

自定义水印是添加到PDF页面的个性化背景图像或文字叠加。 它有多种用途,包括使用标志或名称进行品牌推广,使用“机密”等标签增强安全性,确保版权保护,并表示文件状态。 自定义水印可以包括文本、图像或两者兼有,可以选择性地或全面地应用,其透明度可以调整,以便于个性化、保护和给PDF文件增加上下文。

IronPdf 提供了为 PDF 格式文件添加水印的单行程序。 水印功能接受 HTML 字符串来生成水印,可以使用所有 HTML 功能和 CSS 样式。

开始使用IronPDF

立即在您的项目中开始使用IronPDF,并享受免费试用。

第一步:
green arrow pointer



应用水印示例

使用ApplyWatermark方法为新渲染的PDF或现有的PDF应用水印。 该方法接受 HTML 字符串作为水印,使其具有 HTML 提供的所有功能,包括 CSS 样式。 在下面的例子中,我们将同时使用图像和文本作为水印。 请注意,水印将被应用到所有页面; 无法将水印应用于特定页面。

代码

:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark-apply-watermark.cs
using IronPdf;

string watermarkHtml = @"
<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>");

// Apply watermark
pdf.ApplyWatermark(watermarkHtml);

pdf.SaveAs("watermark.pdf");
Imports IronPdf

Private watermarkHtml As String = "
<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>"

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>")

' Apply watermark
pdf.ApplyWatermark(watermarkHtml)

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

输出 PDF

这是一种非常简单的方法,可从 PNG 等多种图像格式中添加图像水印文本,并使用自定义字体添加文本水印。


水印不透明度和旋转

添加默认不透明度为 50% 的水印。 此级别可以根据用户的要求进一步配置。 关于旋转,ApplyWatermark 方法的一个重载版本也可以接受旋转作为参数。 通过指定 "旋转:"和 "不透明度:",我们可以调整这两个参数。

代码

:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark-apply-rotation-opacity.cs
using IronPdf;
using IronPdf.Editing;

string watermarkHtml = @"
<img style='width: 200px;' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>");

// Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation: 45, opacity: 70);

pdf.SaveAs("watermarkOpacity&Rotation.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private watermarkHtml As String = "
<img style='width: 200px;' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>"

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>")

' Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation:= 45, opacity:= 70)

pdf.SaveAs("watermarkOpacity&Rotation.pdf")
VB   C#

输出 PDF


PDF文件上的水印位置

要指定水印位置,我们使用一个3x3的网格,水平分为3列,垂直分为3行。 水平选项为左、中、右,垂直选项为上、中、下。 使用此配置,我们可以在文档的每一页设置9个不同的位置。 请参考下面的图片,以获得这一概念的视觉表现。

水印位置

使用 IronPdf.Editing 命名空间中的 VerticalAlignmentHorizontalAlignment 枚举将水印添加到特定位置。

代码

:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark-apply-watermark-top-right.cs
using IronPdf;
using IronPdf.Editing;

string watermarkHtml = @"
<img style='width: 200px;' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>");

// Apply watermark on the top-right of the document
pdf.ApplyWatermark(watermarkHtml, 50, VerticalAlignment.Top, HorizontalAlignment.Right);

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

Private watermarkHtml As String = "
<img style='width: 200px;' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>"

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>")

' Apply watermark on the top-right of the document
pdf.ApplyWatermark(watermarkHtml, 50, VerticalAlignment.Top, HorizontalAlignment.Right)

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

输出 PDF

Chaknith related to 输出 PDF

查克尼特·宾

软件工程师

Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。