如何从MS Word文档中提取文本数据

本文关键字:提取 取文本 数据 文档 Word MS | 更新日期: 2023-09-27 17:58:59

我正在开发一个简历档案,人们可以在其中上传简历,简历将保存在特定位置。最重要的是,人们可以使用任何版本的MS word来准备简历,简历文件的扩展名可以是doc或docx。所以我只是想知道有没有免费的库可以用来从doc或docx文件中提取文本数据,这在所有msword版本的情况下都可以工作,如果pc中没有安装msword,也可以工作。因此,请指导我的信息,我应该使用哪个库从msword中提取数据,无论msword版本如何,也给我一些关于这个问题的好文章链接。

还有什么查看器可以用来显示我的c#应用程序中的文档文件内容,无论msword版本如何。感谢

我得到了答案

**Need to add this reference Microsoft.Office.Interop.Word**
using System.Runtime.InteropServices.ComTypes;
using System.IO;
       public static string GetText(string strfilename)
    {
        string strRetval = "";
        System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
        if (File.Exists(strfilename))
        {
            try
            {
                using (StreamReader sr = File.OpenText(strfilename))
                {
                    string s = "";
                    while ((s = sr.ReadLine()) != null)
                    {
                        strBuilder.AppendLine(s);
                    }
                }
            }
            catch (Exception ex)
            {
                SendErrorMail(ex);
            }
            finally
            {
                if (System.IO.File.Exists(strfilename))
                    System.IO.File.Delete(strfilename);
            }
        }
        if (strBuilder.ToString().Trim() != "")
            strRetval = strBuilder.ToString();
        else
            strRetval = "";
        return strRetval;
    }
    public static string SaveAsText(string strfilename)
    {
        string fileName = "";
        object miss = System.Reflection.Missing.Value;
        Microsoft.Office.Interop.Word.Document doc = null;
        try
        {
            Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
            fileName = Path.GetDirectoryName(strfilename) + @"'" + Path.GetFileNameWithoutExtension(strfilename) + ".txt";
            doc = wordApp.Documents.Open(strfilename, false);
            doc.SaveAs(fileName, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDOSText);
        }
        catch (Exception ex)
        {
            SendErrorMail(ex);
        }
        finally
        {
            if (doc != null)
            {
                doc.Close(ref miss, ref miss, ref miss);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);
                doc = null;
            }
            GC.Collect();
            GC.WaitForPendingFinalizers();
        }
        return fileName;
    }

如何从MS Word文档中提取文本数据

请参阅以下内容:

http://msdn.microsoft.com/en-us/library/cc974107%28office.12%29.aspx

如何读取.docx文件?

Microsoft Interop Word Nuget

            string docPath = @"C:'whereEverTheFileIs.doc";
            Application app = new Application();
            Document doc = app.Documents.Open(docPath);

            string words = doc.Content.Text;
            doc.Close();
            app.Quit();