过滤包含给定关键字的 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