下面是C#如何给PDF文件添加水印的完整攻略:
1. 使用 iTextSharp 添加水印到 PDF 文件中
步骤如下:
- 引用 iTextSharp 的 dll 文件。
C#
using iTextSharp.text;
using iTextSharp.text.pdf;
- 读取 PDF 文件并创建 PdfStamper 对象。
C#
PdfReader reader = new PdfReader("original.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileStream("watermark.pdf", FileMode.Create));
- 创建一个 PdfContentByte 对象,并设置字体、颜色和透明度。
C#
PdfContentByte content = stamper.GetOverContent(1);
BaseFont baseFont = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
content.SetFontAndSize(baseFont, 50);
content.SetColorFill(BaseColor.GRAY);
content.SetGState(new PdfGState { FillOpacity = 0.4f, StrokeOpacity = 0.4f });
- 在 PdfContentByte 对象上添加水印。
C#
float x = reader.GetPageSize(1).Width / 2;
float y = reader.GetPageSize(1).Height / 2;
content.BeginText();
content.ShowTextAligned(Element.ALIGN_CENTER, "Watermark", x, y, 45);
content.EndText();
- 关闭 PdfStamper 和 PdfReader。
C#
stamper.Close();
reader.Close();
这样,就可以在指定的 PDF 文件中添加水印了。
2. 使用 Spire.PDF 添加水印到 PDF 文件中
步骤如下:
- 引用 Spire.PDF 的 dll 文件。
C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
- 加载 PDF 文件。
C#
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("original.pdf");
- 创建 PdfPageBase 对象,并设置字体、颜色和透明度。
C#
PdfPageBase page = pdf.Pages[0];
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 50f, PdfFontStyle.Bold);
PdfBrush brush = new PdfSolidBrush(Color.FromArgb(102, 192, 192, 192));
- 在 PdfPageBase 对象上添加水印。
C#
float x = page.Canvas.ClientSize.Width / 2;
float y = page.Canvas.ClientSize.Height / 2;
page.Canvas.SetTransparency(0.4f, 0.4f, PdfBlendMode.Multiply);
page.Canvas.DrawString("Watermark", font, brush, x, y, PdfStringFormat.GenericTypographic);
- 保存 PDF 文件。
C#
pdf.SaveToFile("watermark.pdf");
pdf.Close();
这样,就可以在指定的 PDF 文件中添加水印了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#如何给PDF文件添加水印 - Python技术站