Фильтрация файлов PDF, содержащих данное ключевое слово - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь создать listBox, который будет отображать PDF-файлы, содержащие данное ключевое слово в textBox.
Я использую 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: «Не удалось загрузить файл или сборку» Common.Logging, Version = 3.4.1.0,Культура = нейтральная, PublicKeyToken = af08829b84f0328e 'или одна из ее зависимостей. Система не может найти указанный файл. '

Есть предложения? Я даже иду в правильном направлении?

1 Ответ

0 голосов
/ 18 октября 2019

Необходимо проверить, находится ли файл Common.Logging.dll в каталоге bin вашего проекта. Если нет

Попробуйте это в Visual Studio в консоли диспетчера пакетов, введите это.

PM> Install-Package Common.Logging
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...