使用pdfViewer1控件查看PDF时添加水印
时间: 2023-11-27 22:53:17 浏览: 140
要在PDF文件中添加水印,可以使用iTextSharp库实现。以下是一个简单的示例代码,它将在每页PDF上添加文本水印。
```csharp
using iTextSharp.text;
using iTextSharp.text.pdf;
public void AddWatermark(string inputFile, string outputFile, string watermarkText)
{
using (var reader = new PdfReader(inputFile))
{
using (var stream = new FileStream(outputFile, FileMode.Create))
{
var stamper = new PdfStamper(reader, stream);
var font = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
var color = BaseColor.GRAY;
var gstate = new PdfGState { FillOpacity = 0.4f };
for (int i = 1; i <= reader.NumberOfPages; i++)
{
var cb = stamper.GetOverContent(i);
cb.BeginText();
cb.SetFontAndSize(font, 40);
cb.SetGState(gstate);
cb.SetColorFill(color);
cb.ShowTextAligned(Element.ALIGN_CENTER, watermarkText, reader.GetPageSize(i).Width / 2, reader.GetPageSize(i).Height / 2, 45f);
cb.EndText();
}
stamper.Close();
}
}
}
```
在这个示例中,`inputFile`是要添加水印的PDF文件路径,`outputFile`是输出的文件路径,`watermarkText`是要添加的水印文本。该方法使用PdfReader和PdfStamper对象来打开和编辑PDF文件。在每一页的上下文中,使用BeginText和EndText方法包装文本,并使用ShowTextAligned方法将文本水印添加到页面中心。使用SetFontAndSize设置字体和字号,SetGState设置透明度,SetColorFill设置颜色。最后,使用PdfStamper对象的Close方法保存输出文件。
阅读全文