0
docxファイルのパスからWordProcessingDocumentを開くと、リボンが作成されます。しかし、それは私がdocxファイルのバイト内容から同じを開くと作成されません。リボンWordProcessingDocumentがバイト[]から作成されたときにリボンが作成されない
public void AddRibbonToTemplate(byte[] templateContent)
{
string sanitizedRibbonXml = GetRibbonXML().ToString().Replace("xmlns=\"\"", "");
MemoryStream stream = new MemoryStream();
stream.Write(templateContent, 0, templateContent.Length);
using (WordprocessingDocument myDoc = WordprocessingDocument.Open(stream, true))
{
MainDocumentPart mainPart = myDoc.MainDocumentPart;
if (myDoc.GetPartsCountOfType<RibbonExtensibilityPart>() > 0)
myDoc.DeletePart(myDoc.GetPartsOfType<RibbonExtensibilityPart>().First());
RibbonExtensibilityPart ribbonExtensibilityPart = myDoc.AddNewPart<RibbonExtensibilityPart>();
ribbonExtensibilityPart.CustomUI = new DocumentFormat.OpenXml.Office.CustomUI.CustomUI(sanitizedRibbonXml);
myDoc.CreateRelationshipToPart(ribbonExtensibilityPart);
}
stream.Close();
}
以下を示しています - - :
public void AddRibbonToTemplate(string documentFileName)
{
string sanitizedRibbonXml = GetRibbonXML().ToString().Replace("xmlns=\"\"", "");
using (WordprocessingDocument myDoc = WordprocessingDocument.Open(documentFileName, true))
{
MainDocumentPart mainPart = myDoc.MainDocumentPart;
if (myDoc.GetPartsCountOfType<RibbonExtensibilityPart>() > 0)
myDoc.DeletePart(myDoc.GetPartsOfType<RibbonExtensibilityPart>().First());
RibbonExtensibilityPart ribbonExtensibilityPart = myDoc.AddNewPart<RibbonExtensibilityPart>();
ribbonExtensibilityPart.CustomUI = new DocumentFormat.OpenXml.Office.CustomUI.CustomUI(sanitizedRibbonXml);
myDoc.CreateRelationshipToPart(ribbonExtensibilityPart);
}
}
GetRibbonXml()リボンのXMLを取得する以下のdocxファイル内のリボンを表示されません。私はリボン要素(質問hereから)に追加されるxmlns = ""を削除しています。
誰かがリボンが追加されない理由をいくつか考えてもらえますか? customUIフォルダでさえ、zipファイルという単語には追加されません。誰でも助けてくれますか?