2012-07-30 85 views
0

我需要使用C#在Visual Studio 2010中創建一個winform,該C#搜索pdf文件的目錄,然後搜索pdf中的某些文本。例如,用戶可以在Winform中輸入「John Smith」。該程序需要在給定的目錄中搜索文本「John Smith」中的所有pdf。我目前沒有Adobe Acrobat,很可能無法購買它或任何非免費加載項。我被告知要查看Apache Solr和Ghostscript,但沒有看到這些如何用於winform。我已經搜索了很多,並看到了很多建議,但找不到任何簡單的示例或教程來了解如何設置用於搜索pdf的winform。有人可以提供一些關於如何在Winform中搜索PDF的示例代碼嗎?在C#winform中搜索pdfs

+0

我已經下載的Solr和Ghostscript,但不知道如何設置他們或在我的視覺工作室項目中使用它們。 – boilers222 2012-07-30 13:05:28

回答

3

要搜索certian文本PDF你可以在 http://sourceforge.net/projects/itextsharp/

這裏使用iTextSharp的圖書館是一個簡單的例子

var reader = new PdfReader(pdfPath); 
StringWriter output = new StringWriter(); 

for (int i = 1; i <= reader.NumberOfPages; i++) 
    output.WriteLine(PdfTextExtractor.GetTextFromPage(reader, i, new SimpleTextExtractionStrategy())); 

//now you can search for the text from outPut.ToString(); 
+0

謝謝。任何想法如何用Ghostscript做同樣的事情?另外,我需要包含什麼來使用itextsharp(例如在頂部使用#itextsharp或將.dll複製到某個文件夾)? – boilers222 2012-07-30 13:52:22

+0

Ghostscript是作爲Windows上的DLL構建的,因爲它作爲源提供,顯然可以重建爲靜態庫或其他組件。我對Winform一無所知,但我不明白爲什麼這應該是一個不可逾越的障礙。可以使用'txtwrite'設備提取文本。我想說GS可能是你的目的太多的大錘,如果你只想處理PDF文件,你可能會考慮使用MuPDF。 – KenS 2012-07-31 07:14:24

+0

我使用http://www.wibit.net/blog/integrating_ghostscript_c的測試腳本將PDF轉換爲可用的ps文件。我嘗試將其更改爲文本文件(使用txtwrite),但輸出文件爲空。即使這些工作,我仍然不知道如何從C#中搜索新的PS或文本文件。任何人都可以告訴我如何做到這一點? – boilers222 2012-07-31 13:08:54