2012-06-12 53 views
2

如何使用ABCPdf.NET工具從PDF文件中提取內容文本?如何使用ABCPdf.NET從PDF文件的所有頁面中提取文本?

我試過了gettext方法,但不提取的內容:

var doc = new Doc();  

     var url = @".../FileName.pdf"; 

     doc.Read(url); 

     string xmlContents = doc.GetText("Text"); 
     Response.Write(xmlContents); 
     doc.Clear(); 
     doc.Dispose(); 

我的PDF幾乎1000個單詞,但只的getText返回4-5的話。我意識到它只返回第一頁的文本。

所以問題應該是「如何從pdf文件的所有頁面中提取文本?」 - (改變標題以使其更清楚)。

感謝,

+5

你應該張貼你已經到目前爲止已經試過.... –

+0

確定,增加了更多的細節!消除你的消極情緒! –

+0

@Thelight它不是「消極」,下調不是個人的。本來我是低調的,因爲這是一個單線問題,除了實際提出問題的基本要求之外,沒有傳達太多的想法。我已經刪除了我的downvote,因爲很明顯你正在努力並反饋,並且在問題本身中增加了更多內容。 –

回答

8

爲了您的利益,是的你!

public string ExtractTextsFromAllPages(string pdfFileName) 
    { 
     var sb = new StringBuilder(); 

     using (var doc = new Doc()) 
     { 
      doc.Read(pdfFileName); 

      for (var currentPageNumber = 1; currentPageNumber <= doc.PageCount; currentPageNumber++) 
      { 
       doc.PageNumber = currentPageNumber; 
       sb.Append(doc.GetText("Text")); 
      } 
     } 

     return sb.ToString(); 
    } 

,如果你不具備的URL,但有個字節,則:

public string ExtractTextsFromAllPages(Byte[] pdfBytes) 
    { 
     var sb = new StringBuilder(); 

     using (var doc = new Doc()) 
     { 
      doc.Read(pdfBytes); 

      for (var currentPageNumber = 1; currentPageNumber <= doc.PageCount; currentPageNumber++) 
      { 
       doc.PageNumber = currentPageNumber; 
       sb.Append(doc.GetText("Text")); 
      } 
     } 

     return sb.ToString(); 
    } 
1

您是否嘗試過GetText方法?

0
doc.Read(.......); 
var textOperation = new TextOperation(doc); 
textOperation.PageContents.AddPages(); 
string allText = textOperation.GetText(); 
+0

請注意,這不適用於以前版本的Abcpdf,例如版本8.它看起來像'TextOperation'類可能已被添加到版本10或其附近。 – clamum

相關問題