如何在现有pdf文件上添加水印

时间:2017-08-23 06:55:12

标签: watermark pdfsharp

我正在尝试使用PdfSharp在pdf文件上添加水印,我试过这个链接

http://www.pdfsharp.net/wiki/Watermark-sample.ashx

但我无法了解如何获取现有的pdf文件页面对象以及如何在该页面上添加水印。

帮助?

1 个答案:

答案 0 :(得分:1)

基本上,样本只是片段。您可以下载源代码,然后获得大量示例,包括此水印示例。

以下内容来自PDFSharp-MigraDocFoundation-1_32/PDFsharp/samples/Samples C#/Based on GDI+/Watermark/Program.cs

非常简单,真的......我只显示遍历每页的for循环的代码。你应该看一下完整的文件。

  [...]
  const string watermark = "PDFsharp";
  const int emSize = 150;

  // Get a fresh copy of the sample PDF file
  const string filename = "Portable Document Format.pdf";
  File.Copy(Path.Combine("../../../../../PDFs/", filename),
    Path.Combine(Directory.GetCurrentDirectory(), filename), true);

  // Create the font for drawing the watermark
  XFont font = new XFont("Times New Roman", emSize, XFontStyle.BoldItalic);

  // Open an existing document for editing and loop through its pages
  PdfDocument document = PdfReader.Open(filename);

  // Set version to PDF 1.4 (Acrobat 5) because we use transparency.
  if (document.Version < 14)
    document.Version = 14;

  for (int idx = 0; idx < document.Pages.Count; idx++)
  {
    //if (idx == 1) break;
    PdfPage page = document.Pages[idx];
  [...]