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