首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openxml-sdk -使用settings.xml创建word 2007文件

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

Stack Overflow用户
提问于 2011-05-21 02:23:24
回答 1查看 2.7K关注 0票数 3

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

代码语言:javascript
复制
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;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-21 02:41:07

您需要创建自己的DocumentSettingsPart,然后将其插入到MainDocumentPart中。因此,设置部分可能如下所示:

代码语言:javascript
复制
<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",您可以使用如下代码:

代码语言:javascript
复制
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();
    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6076122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档