有没有人知道是否有办法使用iTextSharp检查PDF文档上的水印?
我想在添加新的之前这样做。在我的情况下,我必须添加一个新的水印,如果它还没有被某人添加,但我不知道如何使用iTextSharp的PdfReader
课程进行检查。
像这样:
var reader = new PdfReader(bytes);
var stamper = new PdfStamper(reader, ms);
var dc = stamper.GetOverContent(pageNumber);
bool alreadyStamped = cd.CheckIfTextOrImageExists();
答案 0 :(得分:0)
经过一些调查,感谢@ChrisHaas的评论,我得以验证。因此,如果特定页面上有文字,我可以使用 SimpleTextExtractionStrategy 找到它,即使它在WaterMark集合中也是如此。
PdfReader pdfReader = new PdfReader(bytes);
for (int page = 1; page <= pdfReader.NumberOfPages; page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentPageText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
if (currentPageText.Contains(searthText))
{
// adding new WaterMark here
Console.WriteLine("text was found on page "+i);
}
}
pdfReader.Close();
希望这种方法可以帮助那些遇到类似问题的人。