PPT中可设置幻灯片背景,如颜色填充,渐变色填充,图片或纹理填充,无填充等等。对PPT中已设置的背景,也可以通过后端程序判断并读取,下面是通过C#代码来实现读取PPT幻灯片背景的方法和步骤。
引入 dll
1. 通过NuGet 安装dll (2 种方法)
1.1可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索Spire.Presentation,点击安装。
1.2将以下内容复制到PM控制台安装。
Install-Package Spire.Presentation -Version 6.12.4
2. 手动添加dll 引用
可通过手动下载Jar包,然后解压,找到BIN文件夹下的Spire.Presentation.dll。在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”将本地路径BIN文件夹下的dll文件添加引用至程序。
获取幻灯片背景类型和颜色
C#
using Spire.Presentation;
using Spire.Presentation.Drawing;
using System;
namespace GetBackgroundTypeAndColor
{
class Program
{
static void Main(string[] args)
{
//加载PPT幻灯片
Presentation ppt = new Presentation();
ppt.LoadFromFile("test.pptx");
//获取第一张幻灯片
ISlide slide = ppt.Slides[0];
//获取背景
FillFormat background = slide.DisplaySlideBackground.GetBackgroundFillFormat(slide as ActiveSlide);
//获取背景类型和颜色
switch (background.FillType)
{
case FillFormatType.Solid:
Console.WriteLine("【类型】:" + background.FillType + "\n【颜色】:" + background.SolidColor.Color);
Console.ReadLine();
break;
case FillFormatType.Gradient:
for (int i = 0; i < background.Gradient.GradientStops.Count; i++)
{
GradientStop stop = background.Gradient.GradientStops[i];
Console.WriteLine("【类型】:"+ background.FillType + "\n【位置】:" + stop.Position + "\n【颜色】:" + stop.Color.Color);
Console.ReadLine();
}
break;
default:
Console.WriteLine("type:" + background.FillType);
break;
}
}
}
}
VB.NET
Imports Spire.Presentation
Imports Spire.Presentation.Drawing
Namespace GetBackgroundTypeAndColor
Class Program
Private Shared Sub Main(args As String())
'加载PPT幻灯片
Dim ppt As New Presentation()
ppt.LoadFromFile("test.pptx")
'获取第一张幻灯片
Dim slide As ISlide = ppt.Slides(0)
'获取背景
Dim background As FillFormat = slide.DisplaySlideBackground.GetBackgroundFillFormat(TryCast(slide, ActiveSlide))
'获取背景类型和颜色
Select Case background.FillType
Case FillFormatType.Solid
Console.WriteLine("【类型】:" + background.FillType + vbLf & "【颜色】:" + background.SolidColor.Color)
Console.ReadLine()
Exit Select
Case FillFormatType.Gradient
For i As Integer = 0 To background.Gradient.GradientStops.Count - 1
Dim [stop] As GradientStop = background.Gradient.GradientStops(i)
Console.WriteLine("【类型】:" + background.FillType + vbLf & "【位置】:" + [stop].Position + vbLf & "【颜色】:" + [stop].Color.Color)
Console.ReadLine()
Next
Exit Select
Case Else
Console.WriteLine("type:" + background.FillType)
Exit Select
End Select
End Sub
End Class
End Namespace
背景颜色读取结果:

注:文件路径可自定义。
—End—