图片水印通常是出现在数字文档背景上的图标或记号,表明内容的版权所有者。添加图片水印可以防止您的数据被重复使用或修改。本文演示了如何使用 Spire.PDF for .NET 在 C# 和 VB.NET 中为 PDF 添加图片水印。
安装 Spire.PDF for .NET
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDF
为 PDF 添加图片水印
以下是为 PDF 文档添加图片水印的主要步骤。
- 创建一个 PdfDocument 对象,并使用 PdfDocument.LoadFromFile() 方法加载示例 PDF 文件。
- 使用 Image.FromFile() 方法加载图片文件。
- 循环遍历文档中的页面,并通过 PdfDocument.Pages[] 属性获取特定页面。
- 通过 PdfPageBase.BackgroundImage 属性将图片设置为当前页面的背景/水印图片。通过 PdfPageBase.BackgroundRegion 属性设置图片位置和大小。
- 使用 PdfDocument.SaveToFile() 方法将文档保存为新的 PDF 文件。
- C#
- VB.NET
using Spire.Pdf;
using System.Drawing;
namespace AddImageWatermark
{
class Program
{
static void Main(string[] args)
{
//创建一个PdfDocument对象
PdfDocument document = new PdfDocument();
//加载示例PDF文档
document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
//加载图片
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\logo.png");
//获取图片宽度和高度
int imgWidth = image.Width;
int imgHeight = image.Height;
//遍历页面
for (int i = 0; i < document.Pages.Count; i++)
{
//获取页面宽度和高度
float pageWidth = document.Pages[i].ActualSize.Width;
float pageHeight = document.Pages[i].ActualSize.Height;
//设置背景不透明度
document.Pages[i].BackgroudOpacity = 0.3f;
//设置当前页面的背景图片
document.Pages[i].BackgroundImage = image;
//将背景图片置于页面中央
Rectangle rect = new Rectangle((int)(pageWidth - imgWidth) / 2, (int)(pageHeight - imgHeight) / 2, imgWidth, imgHeight);
document.Pages[i].BackgroundRegion = rect;
}
//保存文档
document.SaveToFile("AddImageWatermark.pdf");
document.Close();
}
}
}
Imports Spire.Pdf
Imports System.Drawing
Namespace AddImageWatermark
Class Program
Shared Sub Main(ByVal args() As String)
'创建一个PdfDocument对象
Dim document As PdfDocument = New PdfDocument()
'加载示例PDF文档
document.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")
'加载图片
Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\logo.png")
'获取图片宽度和高度
Dim imgWidth As Integer = image.Width
Dim imgHeight As Integer = image.Height
'遍历页面
Dim i As Integer
For i = 0 To document.Pages.Count- 1 Step i + 1
'获取页面宽度和高度
Dim pageWidth As single = document.Pages(i).ActualSize.Width
Dim pageHeight As single = document.Pages(i).ActualSize.Height
'设置背景不透明度
document.Pages(i).BackgroudOpacity = 0.3f
'设置当前页面的背景图片
document.Pages(i).BackgroundImage = image
'将背景图片置于页面中央
Dim rect As Rectangle = New Rectangle(CType((pageWidth - imgWidth) / 2,(Integer)(pageHeight - imgHeight) / 2,imgWidth,imgHeight, Integer))
document.Pages(i).BackgroundRegion = rect
Next
'保存文档
document.SaveToFile("AddImageWatermark.pdf")
document.Close()
End Sub
End Class
End Namespace
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。