ShowTextAligned可以添加多次吗
时间: 2024-02-07 15:03:05 浏览: 28
是的,您可以多次使用 `ShowTextAligned` 方法来添加多个水印文本。每次调用 `ShowTextAligned` 方法,都会在指定位置添加一个水印文本。
以下是一个示例代码,演示如何在 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.ShowTextAligned(Element.ALIGN_CENTER, watermarkText, PageSize.A4.Width / 2, PageSize.A4.Height / 2, 45);
// 添加第二个水印
watermarkContent.ShowTextAligned(Element.ALIGN_CENTER, "Sample Watermark", PageSize.A4.Width / 2, PageSize.A4.Height / 2 - 50, 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`),并在每个页面上添加多个水印。您可以根据需要调用多次 `ShowTextAligned` 方法,并自定义水印的文本、样式和位置。