繁体   English   中英

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

[英]How to Extract Word document text from byte array?

我正在尝试获取 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();

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

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

你可以像这样使用它:

WordDocument doc = new WordDocument();
byte[] wordBytes = …
using (var ms = new MemoryStream(wordBytes))
{
     doc.Open(ms, FormatType.Automatic);
}

拥有 Word 文档后,您可以从中提取文本。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM