gpt4 book ai didi

openxml-sdk - 打开 XML SDK : opening a Word template and saving to a different file-name

转载 作者:行者123 更新时间:2023-12-01 11:08:03 26 4
gpt4 key购买 nike

这是一件非常简单的事情,我找不到合适的技术。我想要的是打开一个 .dotx 模板,进行一些更改并保存为相同的名称但扩展名为 .docx。我可以保存 WordprocessingDocument,但只能保存到它的加载位置。我已经尝试使用 WordprocessingDocument 手动构建一个新文档并进行了更改,但到目前为止没有任何效果,我尝试了 MainDocumentPart.Document.WriteTo(XmlWriter.Create(targetPath)); 并得到了一个空文件.

这里的正确方法是什么?就 SDK 而言,.dotx 文件是特殊的还是只是另一个文档 - 我应该简单地将模板复制到目标位置,然后打开那个并进行更改,然后保存吗?如果同时从两个客户端调用我的应用程序,如果它可以打开同一个 .dotx 文件两次,我确实有些担心......在这种情况下创建一个副本无论如何都是明智的......但出于我自己的好奇心,我仍然想要了解如何执行“另存为”。

最佳答案

我建议只使用 File.IO 将 dotx 文件复制到 docx 文件并在那里进行更改,如果这适合您的情况。还有一个您必须调用的 ChangeDocumentType 函数,以防止新 docx 文件中出现错误。

            File.Copy(@"\path\to\template.dotx", @"\path\to\template.docx");

using(WordprocessingDocument newdoc = WordprocessingDocument.Open(@"\path\to\template.docx", true))
{
newdoc.ChangeDocumentType(WordprocessingDocumentType.Document);
//manipulate document....
}

关于openxml-sdk - 打开 XML SDK : opening a Word template and saving to a different file-name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3317011/

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