gpt4 book ai didi

c# - openxml-sdk - 使用 settings.xml 创建 word 2007 文件

转载 作者:行者123 更新时间:2023-11-30 15:44:27 29 4
gpt4 key购买 nike

我正在尝试使用以下代码生成一个新的 Word 文档。生成的 Word 文档没有 settings.xml。我需要在 word 文件中有 settings.xml。任何帮助将不胜感激。

public static byte[] GenerateNewDocument()
{
byte[] returnValue = null;
MemoryStream stream = null;
WordprocessingDocument wordDoc = null;

try
{
stream = new System.IO.MemoryStream();
wordDoc = WordprocessingDocument.Create(stream, WordprocessingDocumentType.Document);
}
catch
{
if (stream != null)
{
stream.Close();
}

throw;
}

using (wordDoc)
{
wordDoc.AddMainDocumentPart();
MainDocumentPart mainPart = wordDoc.MainDocumentPart;
mainPart.Document = new Document(new Body());
mainPart.Document.Save();
}

returnValue = stream.ToArray();
return returnValue;
}

最佳答案

您需要创建自己的 DocumentSettingsPart,然后将其插入到 MainDocumentPart 中。所以设置部分可能看起来像这样:

<w:settings xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vm" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main">
<w:defaultTabStop w:val="475"/>
<w:compat>
<w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="14"/>
</w:compat>
</w:settings>

然后将其保存为“settings.xml”,您可以使用如下代码:

private static void AddSettingsToMainDocumentPart(MainDocumentPart part)
{
DocumentSettingsPart settingsPart = part.AddNewPart<DocumentSettingsPart>();
FileStream settingsTemplate = new FileStream("settings.xml", FileMode.Open, FileAccess.Read);
settingsPart.FeedData(settingsTemplate);
settingsPart.Settings.Save();
}

关于c# - openxml-sdk - 使用 settings.xml 创建 word 2007 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6076122/

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