C# 如何从字节数组中提取Word文档文本?

C# 如何从字节数组中提取Word文档文本?,c#,.net,ms-word,C#,.net,Ms Word,我正在尝试获取Word或Excel文件的文本。但是,我只能访问此Word文件的二进制数组,无法获取文件的路径 所以,有可能将Word文件的二进制数组转换为字符串吗? 我尝试了这段代码,但它无法帮助我,因为我无法获取文件的路径 StringBuilder text = new StringBuilder(); Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.W

我正在尝试获取Word或Excel文件的文本。但是,我只能访问此Word文件的二进制数组,无法获取文件的路径 所以,有可能将Word文件的二进制数组转换为字符串吗? 我尝试了这段代码,但它无法帮助我,因为我无法获取文件的路径

        StringBuilder text = new StringBuilder();
        Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
        object miss = System.Reflection.Missing.Value;
        object path = filePath;
        object readOnly = true;
        Microsoft.Office.Interop.Word.Document docs = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);

        for (int i = 0; i < docs.Paragraphs.Count; i++)
        {
            text.Append(" \r\n " + docs.Paragraphs[i + 1].Range.Text.ToString());
        }

        return text.ToString();
StringBuilder text=new StringBuilder();
Microsoft.Office.Interop.Word.Application Word=新的Microsoft.Office.Interop.Word.Application();
对象未命中=System.Reflection.Missing.Value;
对象路径=文件路径;
对象只读=真;
Microsoft.Office.Interop.Word.Document docs=Word.Documents.Open(参考路径,参考未命中,参考只读,参考未命中,参考未命中,参考未命中,参考未命中,参考未命中,参考未命中,参考未命中,参考未命中,参考未命中,参考未命中,参考未命中,参考未命中,参考未命中,参考未命中);
对于(int i=0;i
您不能直接使用字节数组,但可以找到一些可以打开和操作Word文档的库。通常,这些库可以从流中打开Word文档

我对Syncfusion及其DocIO库有一些经验,它们可以做到这一点。它有一个免费的社区许可证,所以它可以用于测试或小型团队

您可以这样使用它:

WordDocument doc = new WordDocument();
byte[] wordBytes = …
using (var ms = new MemoryStream(wordBytes))
{
     doc.Open(ms, FormatType.Automatic);
}
拥有Word文档后,可以从中提取文本


免责声明:我与Syncfusion公司或其任何员工没有任何关系。

您不能直接使用字节数组,但您可以找到一些可以打开和操作Word文档的库。通常,这些库可以从流中打开Word文档

我对Syncfusion及其DocIO库有一些经验,它们可以做到这一点。它有一个免费的社区许可证,所以它可以用于测试或小型团队

您可以这样使用它:

WordDocument doc = new WordDocument();
byte[] wordBytes = …
using (var ms = new MemoryStream(wordBytes))
{
     doc.Open(ms, FormatType.Automatic);
}
拥有Word文档后,可以从中提取文本


免责声明:我与Syncfusion公司或其任何员工没有任何关系。

该词的“再见”不包含唯一文本。你不能直接这么做。该文件具有特定的结构,具体取决于其制作的版本。AFAIK无法从字节加载字。您需要将字节保存到磁盘,然后再加载。如果您只想使用字节,这里有一个,这样您就知道每个字节的含义了:*.doc、*.docx或*.docm文件?根据它们是什么,访问内容的方式会有所不同……单词的“再见”不仅仅包含文本。你不能直接这么做。该文件具有特定的结构,具体取决于其制作的版本。AFAIK无法从字节加载字。您需要将字节保存到磁盘,然后再加载。如果您只想使用字节,这里有一个,这样您就知道每个字节的含义了:*.doc、*.docx或*.docm文件?根据它们的不同,访问内容的方式也有所不同……谢谢,它在您需要的时候就工作了doc.GetText();谢谢,它正在工作,只是你需要在它之后doc.GetText();