gpt4 book ai didi

c# - 使用 OpenXML 2.5 创建 .docx 会导致文件损坏

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

我正在尝试使用 OpenXML 2.5 SDK 创建文档,详情如下:

https://msdn.microsoft.com/en-us/library/documentformat.openxml.wordprocessing.document.aspx

我的代码看起来与此相同,但是当我尝试打开创建的 .docx 文件时,我得到了

The file DocumentEx.docx cannot be opened because there are problems with the contents.

Microsoft Word 中的一个错误

问题出在 document.xml 文件中,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:body>
<a:p xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:r>
<a:t>Hello, Word!</a:t>
</a:r>
</a:p>
</w:body>
</w:document>

如果我将 XML 更改为:

<?xml version="1.0" encoding="utf-8"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:body>
<w:p>
<w:r>
<w:t>Hello, Word!</w:t>
</w:r>
</w:p>
</w:body>
</w:document>

文件将打开。

如何让它不保存为已损坏?从 MSDN 提取的代码中出现这样的错误,我一定是遗漏了一些大的东西。

我正在使用 Visual Studio 2010、.NET Framework v 4.6 SP1 进行开发,并尝试使用 Microsoft Word 2010 打开这些 .docx 文件。

提前谢谢你。

最佳答案

我的问题是我添加的对象的命名空间不正确。

我对我的文本对象使用 DocumentFormat.OpenXML.Drawing 而不是 DocumentFormat.OpenXML.Wordprocessing。这没有正确呈现文本并导致我的错误。

关于c# - 使用 OpenXML 2.5 创建 .docx 会导致文件损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41111148/

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