用文本加水印PDF文件的完整示例

时间:2018-02-01 16:41:58

标签: c# pdf

似乎没有一个完整的工作示例来在现有PDF上创建文本水印。我在网上找到的示例似乎生成了一个新文件,或者我尝试过的示例都不起作用。

我已经包含了我在下面找到的一些页面,尽管它们未能实现我的既定目标。

watermark article #1

watermark article #2

请告诉我,因为我整天都花在这上面了吗?

我尝试了以下代码(使用上面的第二个水印文章链接)

收到错误。

其他信息:找不到文件'C:\ Program Files(x86)\ IIS Express \ HELLLLLOO'。

using iTextSharp.text.pdf;
using System.IO;
using iTextSharp.text;
using System.Web.Http;

namespace WebApplication3.Controllers
{
    [System.Web.Mvc.RoutePrefix("api/home")]
    public class HomeController : ApiController
    {
        [HttpGet]
        [System.Web.Mvc.Route("Index")]
        public void Index()
        {
            StampDocument.PutTextWateMark(@"myfile.pdf", "HELLLLLOO");
        }
    }

    public static class StampDocument
    {
        public static void PutTextWateMark(string path, string waterMarkTemplate)
        {
            byte[] _byte = File.ReadAllBytes(path);
            byte[] _templateBye = File.ReadAllBytes(waterMarkTemplate);  // This line produces the error 
            PdfReader reader = new PdfReader(_byte);
            PdfStamper pdfStamper = new PdfStamper(reader, new FileStream(path, FileMode.Create));
            PdfContentByte content;
            PdfReader templateReader = new PdfReader(_templateBye);
            PdfImportedPage page = pdfStamper.GetImportedPage(templateReader, 1);
            for (int i = 0; i < reader.NumberOfPages; i++)
            {
                content = pdfStamper.GetUnderContent(i + 1);
                content.AddTemplate(page, 0, 0);
            }
            pdfStamper.Close();
            templateReader.Close();

        }
    }
}

谢谢,

0 个答案:

没有答案