gpt4 book ai didi

c# - 在没有 Microsoft Interop 的情况下从 dotx 生成 docx

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

我正在使用此代码替换 2 个单词并从 *.dotx (sourceFile) 文件生成一个 *.doc (destinationFile) 文件。

Dictionary<string, string> keyValues = new Dictionary<string, string>();
keyValues.Add("xxxxReplacethat1", "replaced1");
keyValues.Add("xxxxReplacethat2", "replaced2");

File.Copy(sourceFile, destinationFile, true);

using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(destinationFile, true))
{
string docText = null;

using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
{
docText = sr.ReadToEnd();
}

foreach (KeyValuePair<string, string> item in keyValues)
{
Regex regexText = new Regex(item.Key);
docText = regexText.Replace(docText, item.Value);
}

using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
{
sw.Write(docText);
}
}

我如何修改此代码以生成 *.docx,因为我需要在另一个函数中将一些行附加到 *.docx 文件。

我不想使用 Microsoft Interop,因为我不想在服务器上安装它。

最佳答案

几周前我自己做的。

先复制文件然后打开副本并更改其文档类型

var template = @"SourceTemplate.dotx";
var destinationFile = @"DestinationFile.docx";

File.Copy(template, destinationFile);
using (WordprocessingDocument document = WordprocessingDocument.Open(destinationFile, true)) {

// Change the document's type here
document.ChangeDocumentType(WordprocessingDocumentType.Document);

// Do any additional processing here

document.Close();
}

关于c# - 在没有 Microsoft Interop 的情况下从 dotx 生成 docx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48742809/

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