我正在使用开放XML创建一个幻灯片PowerPoint文件。我已经在PPT中标记了占位符,我需要以编程方式更新。我能够找到占位符并可以从数据库更新其值。
现在问题是我需要显示一些HTML代码,用户使用WYSIWYG编辑器输入的HTML代码与用户输入的格式相同,例如像子弹一样。
当我尝试用HTML文本替换占位符时,HTML文本被粘贴,就像所有标记一样。
var presPart = myPres.PresentationPart;
var slideIdList = presPart.Presentation.SlideIdList;
var list = slideIdList.ChildElements
.Cast<SlideId>()
.Select(x => presPart.GetPartById(x.RelationshipId))
.Cast<SlidePart>();
var tableSlidePart = (SlidePart)list.First();
var secondSlidePart = (SlidePart)list.Last();
var current = tableSlidePart;
当我需要粘贴简单的平面文本时,下面的线工作正常
List<DocumentFormat.OpenXml.Drawing.Text> textList = tableSlidePart.Slide.Descendants<DocumentFormat.OpenXml.Drawing.Text>().Where(t => t.Text.Equals("IntroText")).ToList();
foreach (DocumentFormat.OpenXml.Drawing.Text text in textList)
{
text.Text = "Some Text";
}
但是当我想将HTML粘贴到占位符时,它被视为普通的纯字符串。
textList = null;
textList = tableSlidePart.Slide.Descendants<DocumentFormat.OpenXml.Drawing.Text>().Where(t => t.Text.Equals("##DESCRIPTION##")).ToList();
foreach (DocumentFormat.OpenXml.Drawing.Text text in textList)
text.Text = "<html><table><tr><td><b>Hello</b></td></tr></table></html>";
任何帮助或指针将不胜感激。提前谢谢