gpt4 book ai didi

c# - 将 interop 对象的 Word 转换为 byte [] 而不进行物理保存

转载 作者:行者123 更新时间:2023-11-30 16:29:59 25 4
gpt4 key购买 nike

我使用 Microsoft.Office.InteropMicrosoft.Office.Word 在内存中创建了一个对象,其中包含所有已创建的段落、表格等。我需要这个对象来生成一个内容字节 [] 来提供表格中相同类型的一个字段。为了使用 FileStream 并解决我的问题,我无法使用 oDoc.Save(“路径”)以任何方式物理保存它的问题。

尝试了几种解决方案以及如何使用剪贴板,但都没有用。有什么解决办法吗?

最佳答案

您真的必须使用 Microsoft.Office.InteropMicrosoft.Office.Word 吗?

如果不是真的需要,您可以使用 OpenXML SDK libraries用于操作 WordDocument 的内容。

OpenXML SDK 包含一个类 WordprocessingDocument,它可以操作包含 WordDocument 内容的内存流。并且可以使用 ToArray()MemoryStream 转换为 byte[]

作为代码示例:

byte[] templateContent = File.ReadAllBytes(templateFile);

MemoryStream stream = new MemoryStream();
stream.Write(templateContent, 0, templateContent.Length);

WordprocessingDocument wordDoc = WordprocessingDocument.Open(stream, true);

// When done
byte[] contentOfWordFile = stream.toArray();

关于c# - 将 interop 对象的 Word 转换为 byte [] 而不进行物理保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6023272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com