似乎没有一个完整的工作示例来在现有PDF上创建文本水印。我在网上找到的示例似乎生成了一个新文件,或者我尝试过的示例都不起作用。
我已经包含了我在下面找到的一些页面,尽管它们未能实现我的既定目标。
请告诉我,因为我整天都花在这上面了吗?
我尝试了以下代码(使用上面的第二个水印文章链接)
收到错误。
其他信息:找不到文件'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();
}
}
}
谢谢,