程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#中編程讀取Word文檔和Pdf的內容

C#中編程讀取Word文檔和Pdf的內容

編輯:關於C#

最近項目需要實現一個功能:讀取doc,docx,pdf文件內容。在網上搜羅許久,還是發現有些好東西可以直接拿來使用,要不然就得自己發明輪子了。接下來我就簡單介紹了用了哪些組件來實現這個功能的。

Doc文檔:Microsoft Word 14.0 Object Library (GAC對象,調用前需要安裝word。安裝的word版本不同,COM的版本號也會不同)

Docx文檔:Microsoft Word 14.0 Object Library (GAC對象,調用前需要安裝word。安裝的word版本不同,COM的版本號也會不同)

Pdf文檔:PDFBox

DEMO

/* 
     作者:GhostBear 
 *   博客地址:Http://blog.csdn.net/ghostbear 
 */
using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.IO;  
using System.Text.RegularExpressions;  
      
using org.pdfbox.pdmodel;  
using org.pdfbox.util;  
      
using Microsoft.Office.Interop.Word;  

namespace TestPdfReader  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  

            //PDF  
            PDDocument doc = PDDocument.load(@"C:\resume.pdf");  
            PDFTextStripper pdfStripper = new PDFTextStripper();  
            string text = pdfStripper.getText(doc);  
            string result = text.Replace('\t', ' ').Replace('\n', ' ').Replace('\r', ' ').Replace(" ", ""); 
            Console.WriteLine(result);  

            //Doc,Docx  
            object docPath = @"C:\resume.doc";  
            object docxPath = @"C:\resume.docx";  
            object missing=System.Reflection.Missing.Value;  
            object readOnly=true;  
      
            Application wordApp;  
            wordApp = new Application();  

            Document wordDoc = wordApp.Documents.Open(ref docPath,  
                                                  ref missing,  
                                                  ref readOnly,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing,  
                                                  ref missing);  
            string text2 = FilterString(wordDoc.Content.Text);  

            wordDoc.Close(ref missing, ref missing, ref missing);  
            wordApp.Quit(ref missing, ref missing, ref missing);  
            Console.WriteLine(text2);  

            Console.Read();  
                  
        }  

        private static string FilterString(string input)  
        {  
            return Regex.Replace(input, @"(\a|\t|\n|\s+)", "");  

        }  
    }  
}

小結

如果需要在IIS上運行該代碼,則需要配置組件“Microsoft Word 14.0 Object Library”的DCOM配置。具體細節可以參考文章:Word組件的DCOM配置。

代碼下載:http://download.csdn.net/detail/ghostbear/4847887

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved