2016-08-24 97 views
1

如何搜索特定“作者”名称的目录中的多个PDF文件,并在找到该文件时获取该路径?目前我使用EnumerateFiles浏览目录,然后循环显示每个PDF文件中的所有作者姓名,其中PDfReader。我只是不知道如何现在搜索特定的作者姓名。使用iTextSharp在多个PDF元数据中搜索字符串

我下面的代码:

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