使用Itextsharp搜索PDF格式的特定单词

这是我在StackOverflow中的第一篇文章。

我的系统驱动器中有一个PDF文件…我想在C#中编写一个程序,使用Itextsharp.dll引用来搜索该PDF中的特定单词…说我要搜索“StackOverFlow”…如果PDF包含Word“StackOverFlow”,它应该返回true。

否则它应该返回false。

我已经看了很多文章,但直到现在才得到解决方案.. 🙁

我到现在为止尝试的是:

public string ReadPdfFile(string fileName) { StringBuilder text = new StringBuilder(); if (File.Exists(fileName)) { PdfReader pdfReader = new PdfReader(fileName); for (int page = 1; page <= pdfReader.NumberOfPages; page++) { ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy(); string currentText = "2154/MUM/2012 A";// PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy); currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText))); text.Append(currentText); } pdfReader.Close(); } return text.ToString(); } 

在此先感谢,Sabya Dev

以下方法工作正常。 它给出了找到文本的页面列表。

  public List ReadPdfFile(string fileName, String searthText) { List pages = new List(); if (File.Exists(fileName)) { PdfReader pdfReader = new PdfReader(fileName); for (int page = 1; page <= pdfReader.NumberOfPages; page++) { ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy(); string currentPageText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy); if (currentPageText.Contains(searthText)) { pages.Add(page); } } pdfReader.Close(); } return pages; }