c#

itext c#怎样添加水印

小樊
95
2024-12-12 22:47:07
栏目: 编程语言

在iText中,使用C#为PDF文档添加水印可以通过以下步骤实现:

  1. 首先,确保已经安装了iTextSharp库。如果没有安装,可以通过NuGet包管理器进行安装。

  2. 创建一个C#控制台应用程序项目,并引入必要的命名空间:

using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
  1. 编写一个添加水印的方法:
public static void AddWatermark(string inputFile, string outputFile, string watermarkText)
{
    // 读取输入PDF文件
    PdfReader reader = new PdfReader(inputFile);
    // 创建一个PDF文档对象
    Document document = new Document();
    // 创建一个PdfCopy对象,用于将文档复制到新的PDF文件中
    PdfCopy copy = new PdfCopy(document, new FileStream(outputFile, FileMode.Create));
    // 打开文档
    document.Open();

    // 遍历输入PDF的每一页
    for (int i = 1; i <= reader.NumberOfPages; i++)
    {
        // 获取当前页
        PdfImportedPage page = copy.GetImportedPage(reader, i);
        // 创建一个PdfContentByte对象,用于在页面上绘制内容
        PdfContentByte canvas = copy.DirectContent;

        // 设置水印字体和颜色
        Font font = new Font(FontFamily.HELVETICA, 48, FontStyle.NORMAL, BaseColor.GRAY);

        // 在页面上绘制水印文本
        canvas.BeginText();
        canvas.SetFontAndSize(font, watermarkText);
        canvas.ShowTextAligned(TextAlignment.CENTER, watermarkText, 500, 700, 45);
        canvas.EndText();

        // 将当前页添加到新的PDF文件中
        copy.AddPage(page);
    }

    // 关闭文档和PDF副本
    document.Close();
    copy.Close();
    reader.Close();
}
  1. 在主方法中调用AddWatermark方法,传入输入文件、输出文件和水印文本:
public static void Main(string[] args)
{
    string inputFile = "path/to/input.pdf";
    string outputFile = "path/to/output.pdf";
    string watermarkText = "Watermark";

    AddWatermark(inputFile, outputFile, watermarkText);
}

现在,运行程序后,输入PDF文件将添加水印并保存到输出文件中。

0
看了该问题的人还看了