除了用shape.TextFrame.Paragraphs.AddFromHtml(HTMLCode);把html内容作为一个段落加到PowerPoint中之外, Spire.Presentaion 从3.4.1版本开始增加了新方法shapes.AddFromHtml(htmlText);允许直接把html整体作为一个shape的方式添加到PPT中。 这个新方法增加了对一些html属性的支持, 比如标题Hn以及背景色backgroud等。本文将详细介绍这个新方法。
C#
//新建一个PowerPoint文档
Presentation ppt = new Presentation();
//设置幻灯片大小和方向
ppt.SlideSize.Type = SlideSizeType.Screen16x9;
ppt.SlideSize.Orientation = SlideOrienation.Landscape;
//在第一张幻灯片中加入有一级标题的html,line-height控制内容所在矩形框的位置
string HtmlText1 = "<h1 style='text-align:center;font-family:华文彩云;line-height:50px;'>这是一级标题</h1>";
ppt.Slides[0].Shapes.AddFromHtml(HtmlText1);
//在第二张幻灯片中加入有二级标题的html,color属性解析为文字颜色
string HtmlText2 = "<h2 style='text-align:center;font-family:华文隶书;line-height:150px;color:green'>这是二级标题</h2>";
ppt.Slides[0].Shapes.AddFromHtml(HtmlText2);
//在第三张幻灯片中加入有三级标题的html,background属性解析为shape的背景色为绿色
string HtmlText3 = "<h3 style='text-align:center;background:#B0C4DE;line-height:220px'>这是三级标题,"
+ "利用AddFromHtml的方式支持设置html所在的shape的颜色。</h3>";
ppt.Slides[0].Shapes.AddFromHtml(HtmlText3);
//在第四张幻灯片中加入有四级标题的html,font-weight解析为字体加粗状态
string HtmlText4 = "<h4 style='text-align:center;line-height:300px;font-weight:800;'>这是四级标题</h4>";
ppt.Slides[0].Shapes.AddFromHtml(HtmlText4);
//保存并打开结果文档
ppt.SaveToFile("结果文档.pptx", FileFormat.Pptx2010);
System.Diagnostics.Process.Start("结果文档.pptx");
VB.NET
'新建一个PowerPoint文档
Dim ppt As New Presentation()
'设置幻灯片大小和方向
ppt.SlideSize.Type = SlideSizeType.Screen16x9
ppt.SlideSize.Orientation = SlideOrienation.Landscape
'在第一张幻灯片中加入有一级标题的html,line-height控制内容所在矩形框的位置
Dim HtmlText1 As String = "这是一级标题
"
ppt.Slides(0).Shapes.AddFromHtml(HtmlText1)
'在第二张幻灯片中加入有二级标题的html,color属性解析为文字颜色
Dim HtmlText2 As String = "这是二级标题
"
ppt.Slides(0).Shapes.AddFromHtml(HtmlText2)
'在第三张幻灯片中加入有三级标题的html,background属性解析为shape的背景色为绿色
Dim HtmlText3 As String = "这是三级标题," + "利用AddFromHtml的方式支持设置html所在的shape的颜色。
"
ppt.Slides(0).Shapes.AddFromHtml(HtmlText3)
'在第四张幻灯片中加入有四级标题的html,font-weight解析为字体加粗状态
Dim HtmlText4 As String = "这是四级标题
"
ppt.Slides(0).Shapes.AddFromHtml(HtmlText4)
'保存并打开结果文档
ppt.SaveToFile("结果文档.pptx", FileFormat.Pptx2010)
System.Diagnostics.Process.Start("结果文档.pptx")
效果图如下: