这个非常简单的事我找不到合适的技术.我想要的是打开.dotx模板,进行一些更改并保存为.docx扩展名相同的名称.我可以保存WordprocessingDocument但只能保存到它的加载位置.我尝试使用WordprocessingDocument手动构建一个新文档进行了更改,但到目前为止没有任何工作,我尝试了MainDocumentPart.Document.WriteTo(XmlWriter.Create(targetPath));,只是得到一个空文件.
这里有什么正确的方法?就SDK而言,.dotx文件是特别的还是只是另一个文档 - 我应该只是将模板复制到目的地,然后打开它并进行更改,然后保存?如果我的应用程序可以同时从两个客户端调用,我确实有一些问题,如果它可以打开两次相同的.dotx文件...在这种情况下创建一个副本将是明智的...但是为了我自己的好奇心,我仍然想要知道怎么做"另存为".
小智 6
我建议只使用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....
            }
| 归档时间: | 
 | 
| 查看次数: | 4450 次 | 
| 最近记录: |