溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#/VB.NET如何實(shí)現(xiàn)從PPT中提取圖片

發(fā)布時(shí)間:2023-03-14 11:39:24 來(lái)源:億速云 閱讀:107 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“C#/VB.NET如何實(shí)現(xiàn)從PPT中提取圖片”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“C#/VB.NET如何實(shí)現(xiàn)從PPT中提取圖片”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

程序環(huán)境

本次測(cè)試時(shí),在程序中引入 Free Spire.Presentation.dll 文件。

方法1

將Free Spire.Presentation for .NET 下載到本地,解壓,找到 BIN 文件夾下的 Spire.Presentation.dll。然后在 Visual Studio 中打開(kāi)“解決方案資源管理器”,鼠標(biāo)右鍵點(diǎn)擊“引用”,“添加引用”,將本地路徑 BIN 文件夾下的 dll 文件添加引用至程序。

方法2:

通過(guò) NuGet安裝??赏ㄟ^(guò)以下 2 種方法安裝:

1. 可以在 Visual Studio 中打開(kāi)“解決方案資源管理器”,鼠標(biāo)右鍵點(diǎn)擊“引用”,“管理 NuGet 包”,然后搜索“Free Spire.Presentation”,點(diǎn)擊“安裝”。等待程序安裝完成。

2. 將以下內(nèi)容復(fù)制到 PM 控制臺(tái)安裝。

Install-Package FreeSpire.Presentation -Version 7.8

從整個(gè)演示文稿中提取圖像

  • 初始化 Presentation 類的一個(gè)實(shí)例。

  • 使用 Presentation.LoadFromFile() 方法加載 PowerPoint 演示文稿。

  • 通過(guò) Presentation.Images 屬性獲取演示文稿中所有圖片的集合。

  • 遍歷集合,調(diào)用ImageCollection[int].Image.Save()方法將集合中的圖片保存到圖片文件中。

完整代碼

C#

using Spire.Presentation;
using Spire.Presentation.Collections;
using System.Drawing;

namespace ExtractImagesFromPresentation
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //初始化Presentation類的實(shí)例
            Presentation ppt = new Presentation();

            //加載PowerPoint演示文稿
            ppt.LoadFromFile("示例文檔.pptx");

            //獲取演示文稿的圖像集
            ImageCollection imageCollection = ppt.Images;

            //遍歷集合中的圖像
            for (int i = 0; i < imageCollection.Count; i++)
            {
                //提取圖像
                imageCollection[i].Image.Save(string.Format("Presentation\\圖片{0}.png", i));
            }

            ppt.Dispose();
        }
    }
}

VB.NET

Imports Spire.Presentation
Imports Spire.Presentation.Collections

Namespace ExtractImagesFromPresentation
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '初始化Presentation類的實(shí)例
            Dim ppt As Presentation = New Presentation()

            '加載PowerPoint演示文稿
            ppt.LoadFromFile("示例文檔.pptx")

            '獲取演示文稿的圖像集
            Dim imageCollection As ImageCollection = ppt.Images

            '遍歷集合中的圖像
            For i As Integer = 0 To imageCollection.Count - 1
                '提取圖像
                imageCollection(i).Image.Save(String.Format("Presentation\圖片{0}.png", i))
            Next

            ppt.Dispose()
        End Sub
    End Class
End Namespace

從特定演示幻燈片中提取圖像

  • 初始化 Presentation 類的一個(gè)實(shí)例。

  • 使用 Presentation.LoadFromFile() 方法加載 PowerPoint 演示文稿。

  • 通過(guò) Presentation.Slides[int] 屬性按索引獲取特定幻燈片。

  • 遍歷幻燈片上的所有形狀。

  • 檢查形狀是否為 SlidePicture 或 PictureShape 類型。 如果結(jié)果為真,則使用 SlidePicture.PictureFill.Picture.EmbedImage.Image.Save()或 PictureShape.EmbedImage.Image.Save() 方法將圖像保存到圖像文件。

完整代碼

C#

using Spire.Presentation;

namespace ExtractImagesFromSlide
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //初始化 Presentation 類的一個(gè)實(shí)例
            Presentation ppt = new Presentation();
            //加載 PowerPoint 演示文稿
            ppt.LoadFromFile("示例文檔.pptx");

            //獲取指定幻燈片
            ISlide slide = ppt.Slides[1];

            int i = 0;
            //遍歷指定幻燈片上的所有形狀
            foreach (IShape s in slide.Shapes)
            {
                //檢查形狀是否為SlidePicture類型
                if (s is SlidePicture)
                {
                    //提取圖像
                    SlidePicture ps = s as SlidePicture;
                    ps.PictureFill.Picture.EmbedImage.Image.Save(string.Format(@"D:\.NET\提取圖片\bin\Debug\Slide\圖像{0}.png", i));
                    i++;
                }
                //檢查形狀是否為 PictureShape 類型
                if (s is PictureShape)
                {
                    //提取圖像
                    PictureShape ps = s as PictureShape;
                    ps.EmbedImage.Image.Save(string.Format(@"D:\.NET\提取圖片\bin\Debug\Slide\圖像{0}.png", i));
                    i++;
                }
            }
        }
    }
}

VB.NET

Imports Spire.Presentation

Namespace ExtractImagesFromSlide
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '初始化 Presentation 類的一個(gè)實(shí)例
            Dim ppt As Presentation = New Presentation()
            '加載 PowerPoint 演示文稿
            ppt.LoadFromFile("示例文檔.pptx")

            '獲取指定幻燈片
            Dim slide As ISlide = ppt.Slides(1)

            Dim i = 0
            '遍歷指定幻燈片上的所有形狀
            For Each s As IShape In slide.Shapes
                '檢查形狀是否為SlidePicture類型
                If TypeOf s Is SlidePicture Then
                    '提取圖像
                    Dim ps As SlidePicture = TryCast(s, SlidePicture)
                    ps.PictureFill.Picture.EmbedImage.Image.Save(String.Format("D:\.NET\提取圖片\bin\Debug\Slide\圖像{0}.png", i))
                    i += 1
                End If
                '檢查形狀是否為 PictureShape 類型
                If TypeOf s Is PictureShape Then
                    '提取圖像
                    Dim ps As PictureShape = TryCast(s, PictureShape)
                    ps.EmbedImage.Image.Save(String.Format("D:\.NET\提取圖片\bin\Debug\Slide\圖像{0}.png", i))
                    i += 1
                End If
            Next
        End Sub
    End Class
End Namespace

讀到這里,這篇“C#/VB.NET如何實(shí)現(xiàn)從PPT中提取圖片”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI