gpt4 book ai didi

c# - 使用 iTextSharp 在 PDF 中搜索特定单词

转载 作者:可可西里 更新时间:2023-11-01 08:37:44 25 4
gpt4 key购买 nike

我的系统驱动器中有一个 PDF 文件。我想使用 iTextSharp 在 C# 中编写一个程序来搜索该 PDF 中的特定单词。

假设我想搜索“StackOverFlow”:如果 PDF 包含单词“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();
}

最佳答案

以下方法效果很好。它给出了找到文本的页面列表。

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;
}

关于c# - 使用 iTextSharp 在 PDF 中搜索特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17485548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com