我正在使用打开的 XML 创建一张幻灯片 PowerPoint 文件。我在 PPT 中标记了我需要以编程方式更新的占位符。我能够找到占位符并可以从数据库中更新其值。
现在的问题是我需要显示一些用户使用所见即所得编辑器输入的 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>";
任何帮助或指针将不胜感激。先感谢您