如果你想使用 iText 7 而不是 iTextSharp 来为 PDF 文档添加水印,你可以按照以下步骤进行操作:
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
string inputFilePath = "input.pdf"; // 输入的 PDF 文件路径
string outputFilePath = "output.pdf"; // 输出的 PDF 文件路径
string watermarkText = "Confidential"; // 水印文本
PdfDocument pdfDoc = new PdfDocument(new PdfReader(inputFilePath), new PdfWriter(outputFilePath));
Document doc = new Document(pdfDoc);
// 创建水印元素
Paragraph watermark = new Paragraph(watermarkText)
.SetFontColor(DeviceRgb.WHITE)
.SetFontSize(60)
.SetOpacity(0.3f)
.SetRotationAngle(Math.PI / 4)
.SetTextAlignment(TextAlignment.CENTER)
.SetFixedPosition(100, 200, 400);
// 将水印添加到每一页
for (int i = 1; i <= pdfDoc.GetNumberOfPages(); i++)
{
doc.ShowTextAligned(watermark, pdfDoc.GetPage(i).GetPageSize().GetWidth() / 2, pdfDoc.GetPage(i).GetPageSize().GetHeight() / 2, i, TextAlignment.CENTER, VerticalAlignment.MIDDLE, 45);
}
doc.Close();
在上述代码中,你需要将 input.pdf
替换为你要添加水印的输入 PDF 文件的路径,将 output.pdf
替换为输出的 PDF 文件的路径,将 Confidential
替换为你想要的水印文本。
代码将打开输入的 PDF 文件,并在每一页上添加水印。水印是一个带有特定样式和位置的段落元素。通过循环遍历每一页,使用 ShowTextAligned
方法将水印添加到每一页的中心位置。
运行代码后,将生成一个带有水印的新 PDF 文件。
领取专属 10元无门槛券
手把手带您无忧上云