use*_*159 11 c# pdf itextsharp
这是我在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();
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢,Sabya Dev
Lal*_*tya 21
以下方法工作正常.它给出了找到文本的页面列表.
public List<int> ReadPdfFile(string fileName, String searthText)
{
List<int> pages = new List<int>();
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20477 次 |
| 最近记录: |