c# pdf使用PdfContentByte 添加铺满整个页面的水印
时间: 2024-01-27 08:05:05 浏览: 160
C#给PDF文件添加水印
您可以使用 iTextSharp 库来操作 PDF 文件并添加水印。以下是一个示例代码,演示如何在 PDF 页面上添加铺满整个页面的水印:
```csharp
using iTextSharp.text;
using iTextSharp.text.pdf;
public class WatermarkHelper
{
public static void AddWatermark(string inputPdfPath, string outputPdfPath, string watermarkText)
{
using (var reader = new PdfReader(inputPdfPath))
{
using (var output = new FileStream(outputPdfPath, FileMode.Create, FileAccess.Write))
{
using (var stamper = new PdfStamper(reader, output))
{
int pageCount = reader.NumberOfPages;
for (int i = 1; i <= pageCount; i++)
{
var watermarkContent = stamper.GetUnderContent(i);
watermarkContent.BeginText();
BaseFont baseFont = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
watermarkContent.SetFontAndSize(baseFont, 60);
watermarkContent.SetColorFill(BaseColor.LIGHT_GRAY);
watermarkContent.SetTextMatrix(30, 30);
watermarkContent.ShowTextAligned(Element.ALIGN_CENTER, watermarkText, PageSize.A4.Width / 2, PageSize.A4.Height / 2, 45);
watermarkContent.EndText();
}
stamper.Close();
}
}
}
}
}
```
使用示例:
```csharp
string inputFilePath = "input.pdf";
string outputFilePath = "output.pdf";
string watermarkText = "Confidential";
WatermarkHelper.AddWatermark(inputFilePath, outputFilePath, watermarkText);
```
以上代码会将输入的 PDF 文件(`input.pdf`)复制为输出的 PDF 文件(`output.pdf`),并在每个页面上添加一个铺满整个页面的水印,水印文本为 "Confidential"。您可以根据需要自定义水印的文本、样式和位置。
阅读全文