C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#为PDF添加专业水印

使用C#为PDF文档添加专业水印的实现指南

作者:LSTM97

在数字化时代,PDF文档已成为信息传递和存储的核心载体,无论是商业合同、技术报告还是内部资料,保护文档的版权、标识其状态或强化品牌形象都至关重要,为PDF文档添加水印,正是实现这些目标的一种高效且常见的方式,所以本文介绍了如何使用C#为PDF文档添加专业水印

引言

在数字化时代,PDF文档已成为信息传递和存储的核心载体。无论是商业合同、技术报告还是内部资料,保护文档的版权、标识其状态或强化品牌形象都至关重要。为PDF文档添加水印,正是实现这些目标的一种高效且常见的方式。然而,手动为大量PDF文件添加水印,不仅效率低下,且极易出错。

本文将深入探讨如何利用C#编程语言,结合强大的Spire.PDF for .NET库,实现PDF水印的自动化、专业化添加。告别繁琐的手动操作,让您的PDF处理流程更上一层楼!

为什么选择 Spire.PDF for .NET?

在众多的PDF处理库中,Spire.PDF for .NET以其卓越的性能、丰富的功能集和友好的API设计脱颖而出。它是一个专业的PDF组件,允许开发者在.NET应用程序中轻松创建、读写、编辑、转换和打印PDF文档,而无需安装Adobe Acrobat。

选择Spire.PDF for .NET的理由包括:

要在您的项目中开始使用Spire.PDF for .NET,只需通过NuGet包管理器安装即可:

Install-Package Spire.PDF

实现文本水印:分步指南与代码示例

文本水印是PDF文档中最常见的水印类型,常用于标注“机密”、“草稿”、“版权所有”等信息。

代码示例:

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace AddTextWatermark
{
    class Program
    {
        static void Main(string[] args)
        {
            // 加载文档
            PdfDocument doc = new PdfDocument();
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\AI.pdf");

            // 创建字体和画刷
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Black", 50f), true);
            PdfBrush brush = PdfBrushes.Blue;

            // 指定水印文字
            string watermarkText = "DO NOT COPY";

            // 设置透明度
            float opacify = 0.6f;

            // 遍历页
            foreach (PdfPageBase page in doc.Pages)
            {
                // 绘制水印文字
                AddWatermark(page, watermarkText, font, brush, opacify);
            }

            // 保存文档
            doc.SaveToFile("Watermark.pdf");
            doc.Dispose();
        }

        private static void AddWatermark(PdfPageBase page, string watermarkText, PdfTrueTypeFont font, PdfBrush brush, float opacity)
        {
            page.Canvas.SetTransparency(opacity);
            SizeF textSize = font.MeasureString(watermarkText);
            float pageWidth = page.ActualSize.Width;
            float pageHeight = page.ActualSize.Height;
            float x = (pageWidth - textSize.Width) / 2;
            float y = (pageHeight - textSize.Height) / 2;
            
            //page.Canvas.RotateTransform(-45);
            page.Canvas.DrawString(watermarkText, font, brush, x, y);
        }
    }
}

实现图片水印:分步指南与代码示例

图片水印常用于添加公司Logo、品牌图标或特殊的背景图案。

代码示例:

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();
        }
    }
}

总结

通过本文的介绍和代码示例,您应该已经掌握了如何使用C#和强大的Spire.PDF for .NET库为PDF文档添加文本水印和图片水印。无论是为了版权保护、文档状态标识还是品牌宣传,编程自动化处理PDF水印都展现出无可比拟的高效性和专业性。

Spire.PDF for .NET不仅在水印添加方面表现出色,它还提供了丰富的PDF操作功能,如文档合并、拆分、转换、表单处理等。我们强烈建议您立即尝试Spire.PDF for .NET,探索其更多功能,提升您的PDF处理效率,为您的应用程序或企业解决方案注入新的活力!

以上就是使用C#为PDF文档添加专业水印的实现指南的详细内容,更多关于C#为PDF添加专业水印的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文