我目前正在開發一個項目,將3個文檔合併爲一個新項目。爲了添加它們,我創建了一個AltChunk方法來包含這些文檔。將多個Word文檔樣式合併爲一個Open Xml
我的問題是在三者之間的造型上有衝突。因此,我的意思是我保存一張桌子,底下有紅色文字。但是,一旦三者合併成新的文件,該文件的樣式將重置爲純黑色文本。有沒有辦法將所有三種樣式合併到這個新文檔中?
下面是我如何在文檔中合併的代碼(我沒有顯示頂部,因爲它到目前爲止都是好的)。
using (WordprocessingDocument package = WordprocessingDocument.Create(fileName, DocumentFormat.OpenXml.WordprocessingDocumentType.Document))
{
...
#region Append Non-Standard Section Template
var nssAltChunkId = "AltChunkIdNSS" + this.AopPlanId.Value.ToString();
var nssChunk = package.MainDocumentPart.AddAlternativeFormatImportPart(
AlternativeFormatImportPartType.WordprocessingML, nssAltChunkId);
using (var fileStream = new MemoryStream(nssBuffer))
{
nssChunk.FeedData(fileStream);
}
var nssAltChunk = new DocumentFormat.OpenXml.Wordprocessing.AltChunk();
nssAltChunk.Id = nssAltChunkId;
package.MainDocumentPart.Document.Body.InsertAfter(nssAltChunk, package.MainDocumentPart.Document.Body.Elements<Paragraph>().Last());
#endregion
... //Next 2 documents are the same way
package.MainDocumentPart.Document.Save();
}
任何幫助,將不勝感激。謝謝。
編輯:我更改爲使用PowerTools中的DocumentBuilder,但是,仍然無法解決合併樣式的問題。任何建議,將不勝感激。
實際上,Open Xml Power Tools的創建者Eric White給了我一個類似的答案。他提到重命名樣式可以解決問題。儘管最終我沒有這樣做,因爲這被標記爲低優先級,目前客戶不值得修復。 感謝您的回答。我會標記它。 – IyaTaisho