C#/VB.NET 将PPT或PPTX转换为图像


C#/VB.NET 将PPT或PPTX转换为图像

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

l  此链接下载 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