过滤包含给定关键字的 PDF 文件
Filtering PDF files that contain given keyword
我正在尝试制作一个 listBox
来显示包含 textBox
中给定关键字的 PDF 文件。
我正在使用 iTextSharp 7。所有文件都作为完整路径字符串加载到 listBox
。
这是我到目前为止所做的:
查找给定关键字的函数:
private int ReadPdfFile(string fileName, String searthText)
{
int indicator = 0;
if (File.Exists(fileName))
{
PdfReader pdfReader = new PdfReader(fileName);
PdfDocument pdfDocument = new PdfDocument(pdfReader);
{
for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentPageText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page), strategy);
if (currentPageText.Contains(searthText))
{
indicator++;
}
}
}
}
return indicator;
}
和 textBox
代码:
private void textBox1_TextChanged(object sender, EventArgs e)
{
listBox2.Items.Clear();
for (int i = 0; i < items.Count; i++)
{
if (ReadPdfFile(items[i].ToString(), textBox1.Text)>0)
{
listBox2.Items.Add(items[i]);
}
}
}
但是当我尝试在文本框中键入任何内容时,我在 PdfDocument pdfDocument = new PdfDocument(pdfReader);
处收到以下异常
System.IO.FileNotFoundException: 'Could not load file or assembly
'Common.Logging, Version=3.4.1.0, Culture=neutral,
PublicKeyToken=af08829b84f0328e' or one of its dependencies. The
system cannot find the file specified.'
有什么建议吗?
我的方向是否正确?
您需要检查文件 Common.Logging.dll 是否在您的 project.If 而不是
的 bin 目录中
在 visual studio 中试试这个,在包管理器控制台中输入这个。
PM> Install-Package Common.Logging
我正在尝试制作一个 listBox
来显示包含 textBox
中给定关键字的 PDF 文件。
我正在使用 iTextSharp 7。所有文件都作为完整路径字符串加载到 listBox
。
这是我到目前为止所做的:
查找给定关键字的函数:
private int ReadPdfFile(string fileName, String searthText)
{
int indicator = 0;
if (File.Exists(fileName))
{
PdfReader pdfReader = new PdfReader(fileName);
PdfDocument pdfDocument = new PdfDocument(pdfReader);
{
for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentPageText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page), strategy);
if (currentPageText.Contains(searthText))
{
indicator++;
}
}
}
}
return indicator;
}
和 textBox
代码:
private void textBox1_TextChanged(object sender, EventArgs e)
{
listBox2.Items.Clear();
for (int i = 0; i < items.Count; i++)
{
if (ReadPdfFile(items[i].ToString(), textBox1.Text)>0)
{
listBox2.Items.Add(items[i]);
}
}
}
但是当我尝试在文本框中键入任何内容时,我在 PdfDocument pdfDocument = new PdfDocument(pdfReader);
System.IO.FileNotFoundException: 'Could not load file or assembly 'Common.Logging, Version=3.4.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e' or one of its dependencies. The system cannot find the file specified.'
有什么建议吗? 我的方向是否正确?
您需要检查文件 Common.Logging.dll 是否在您的 project.If 而不是
的 bin 目录中在 visual studio 中试试这个,在包管理器控制台中输入这个。
PM> Install-Package Common.Logging