C# 获取PPT幻灯片背景类型和颜色

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—

请使用浏览器的分享功能分享到微信等