2016-08-24 5 views
1

Как я могу найти несколько файлов PDF в каталоге для определенного имени «Автор» и получить путь к этому файлу, если он найден? В настоящее время я просматриваю каталог с помощью EnumerateFiles, а затем я просматриваю все имена авторов из каждого файла PDF с помощью PDfReader. Я просто не знаю, как искать сейчас для этого конкретного имени автора.Поиск строки в нескольких метаданных PDF с iTextSharp

Мой код ниже:

path = @"C:\Users\thomas\Desktop\PDFfiles"; 
var files = Directory.EnumerateFiles(path, "*.pdf", SearchOption.AllDirectories); 

foreach (string currentFile in files) 
{     
    PdfReader reader = new PdfReader(currentFile); 
    string authorName = reader.Info["Author"]; 

    listBox1.Items.Add("Author is: " + authorName); 
} 

Я получаю список имен авторов в моем ListBox, но как я могу искать конкретное название во всех PDF-файлов?

Спасибо

ответ

2

Вы, возможно, потребуется использовать новый список, чтобы сохранить результаты с помощью выбранного автора, такие как: newList = listBox1.Items.Where(x => x.Text == authorName);

+0

Я согласен. Ответ такой же простой, как и этот. Интересно, почему кто-то задал вопрос с таким тривиальным ответом, но вы заслуживаете голосования по этому поводу после голосования, которое я дал вам за предыдущий ответ, который был неправильным. Вы можете отменить голосование, удалив неправильный ответ (на самом деле было бы лучше удалить этот ответ, потому что он вводит в заблуждение для людей, которые могут ошибочно принять его за правильный ответ). –

+0

Привет, я знаю, что я могу сохранить результаты поиска в списке, «массив» и т. Д., Но, как этого избежать. Причина, по которой я спрашиваю, это поиск в папке с возможно 100 000 PDF-файлами. Есть идеи ? – Thomas

+0

@BrunoLowagie благодарит за это, я удалю свой ответ в другом потоке. – Roman

Смежные вопросы