C#/VB.NET实现PPT或PPTX转换为图像功能

 更新时间:2022年08月01日 09:45:20   作者:Gia-  
由于大多数便携式设备支持浏览图片而不支持浏览PowerPoint 文件,所以相比较而言,图像对于用户而言更加友好。本文将利用C#/VB.NET实现PPT或PPTX转换为图像功能,需要的可以参考一下

由于大多数便携式设备支持浏览图片而不支持浏览PowerPoint 文件,所以相比较而言,图像对于用户而言更加友好。除此之外,将PowerPoint文档转换为图像也可以防止对内容做出修改。在本文中,我将展示如何使用 Spire.Presentation for .NET 在C#/VB.NET程序中,将PowerPoint(PPT 和 PPTX)转换为 PNG 或 SVG。

安装 Spire.Presentation for .NET

首先,我们需要将 Spire.Presentation for .NET 包中包含的 DLL 文件添加为 .NET 项目中的引用。可以从此链接下载 DLL 文件,也可以通过NuGet 安装 DLL 文件。

PM> Install-Package Spire.Presentation

将PPT或PPTX转换为PNG

C#

using Spire.Presentation;
using System;
using System.Drawing;
using System.Drawing.Imaging;
 
namespace ConvertPowerPointToPng
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化Presentation实例
            Presentation presentation = new Presentation();

            //加载一个PowerPoint文档
            presentation.LoadFromFile("模板.pptx");

            //遍历PowerPoint文档中的幻灯片并保存为PNG图片
            for (int i = 0; i < presentation.Slides.Count; i++)
            {
                Image image = presentation.Slides[i].SaveAsImage();
                String fileName = String.Format("图片{0}.png", i);
                image.Save(fileName, System.Drawing.Imaging.ImageFormat.Png);
            }
        }
    }
}

VB.NET

Imports Spire.Presentation
Imports System
Imports System.Drawing
Imports System.Drawing.Imaging
 
Namespace ConvertPowerPointToPng
    Class Program
        Shared  Sub Main(ByVal args() As String)
            '初始化Presentation实例
            Dim presentation As Presentation =  New Presentation() 
 
            '加载一个PowerPoint文档
            presentation.LoadFromFile("模板.pptx")
 
            '遍历PowerPoint文档中的幻灯片并保存为PNG图片
            Dim i As Integer
            For  i = 0 To  presentation.Slides.Count- 1  Step  i + 1
                Dim image As Image =  presentation.Slides(i).SaveAsImage() 
                Dim fileName As String =  String.Format("图片{0}.png",i) 
                image.Save(fileName, System.Drawing.Imaging.ImageFormat.Png)
            Next
        End Sub
    End Class
End Namespace

效果图

将PPT或PPTX转换为SVG

C#

using System.Collections.Generic;
using System.IO;
namespace PPTtoSVG
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化Presentation实例
            Presentation presentation = new Presentation();

            //加载一个PowerPoint文档
            presentation.LoadFromFile("模板.pptx");

            //将PowerPoint转换为SVG图像并以字节形式存储在列队中
            Queue<byte[]> svgBytes = presentation.SaveToSVG();

            //获取列队中字节数组生成SVG文件
            int len = svgBytes.Count;
            for (int i = 0; i < len; i++)
            {
                FileStream fs = new FileStream(string.Format("图片-{0}.svg", i), FileMode.Create);
                byte[] bytes = svgBytes.Dequeue();
                fs.Write(bytes, 0, bytes.Length);
                presentation.Dispose();
            }
        }
    }
}

VB.NET

Imports System.Collections.Generic
Imports System.IO
Namespace PPTtoSVG
    Class Program
        Shared  Sub Main(ByVal args() As String)
            '初始化Presentation实例
            Dim presentation As Presentation =  New Presentation() 
 
            '加载一个PowerPoint文档
            presentation.LoadFromFile("模板.pptx")
 
            '将PowerPoint转换为SVG图像并以字节形式存储在列队中
            Dim svgBytes()> As Queue<byte =  presentation.SaveToSVG() 
 
            '获取列队中字节数组生成SVG文件
            Dim len As Integer =  svgBytes.Count 
            Dim i As Integer
            For  i = 0 To  len- 1  Step  i + 1
                Dim fs As FileStream =  New FileStream(String.Format("图片-{0}.svg",i),FileMode.Create) 
                Dim bytes() As Byte =  svgBytes.Dequeue() 
                fs.Write(bytes, 0, bytes.Length)
                presentation.Dispose()
            Next
        End Sub
    End Class
End Namespace

效果图

以上就是C#/VB.NET实现PPT或PPTX转换为图像功能的详细内容,更多关于C# PPT转图像的资料请关注脚本之家其它相关文章!

相关文章

  • C#实现类型的比较示例详解

    C#实现类型的比较示例详解

    这篇文章主要给大家介绍了关于C#实现类型的比较的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • C#通过HttpWebRequest发送带有JSON Body的POST请求实现

    C#通过HttpWebRequest发送带有JSON Body的POST请求实现

    本文主要介绍了C#通过HttpWebRequest发送带有JSON Body的POST请求实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • C#接口归纳总结实例详解

    C#接口归纳总结实例详解

    本篇文章通过实例代码对接口做了详解,需要的朋友可以参考下
    2017-04-04
  • 浅谈Unity脚本生命周期与执行顺序

    浅谈Unity脚本生命周期与执行顺序

    在Unity中,脚本可以理解为附加在游戏对象上的用于定义游戏对象行为的指令代码。必须绑定在游戏对象上才能开始它的生命周期。游戏对象可以理解为能容纳各种组件的容器,游戏对象的所有组件一起决定了这个对象的行为和游戏中的表现
    2021-06-06
  • 深入学习C#多线程

    深入学习C#多线程

    本文详细讲解了C#多线程编程的相关技术,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • C#实现线程安全的简易日志记录方法

    C#实现线程安全的简易日志记录方法

    这篇文章主要介绍了C#实现线程安全的简易日志记录方法,比较实用的功能,需要的朋友可以参考下
    2014-08-08
  • C#中IntPtr类型的具体使用

    C#中IntPtr类型的具体使用

    本文主要介绍了C#中IntPtr类型的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 使用MSScriptControl 在 C# 中读取json数据的方法

    使用MSScriptControl 在 C# 中读取json数据的方法

    下面小编就为大家带来一篇使用MSScriptControl 在 C# 中读取json数据的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 基于WPF实现验证码控件

    基于WPF实现验证码控件

    这篇文章主要介绍了如何利用WPF实现一个简单的验证码控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,需要的可以参考一下
    2022-08-08
  • C#判断字符串中是否包含指定字符串及contains与indexof方法效率问题

    C#判断字符串中是否包含指定字符串及contains与indexof方法效率问题

    这篇文章主要介绍了C#判断字符串中是否包含指定字符串及contains与indexof方法效率问题 ,文中给大家列举通过两种方法来判断,需要的朋友可以参考下
    2018-10-10

最新评论