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

作者:Gia- 时间:2023-01-25 05:14:37 

由于大多数便携式设备支持浏览图片而不支持浏览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

效果图

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

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

将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#/VB.NET实现PPT或PPTX转换为图像功能

来源:https://www.cnblogs.com/Gia-/p/16539060.html

标签:C#,PPT,PPTX,图像
0
投稿

猜你喜欢

  • java多线程抓取铃声多多官网的铃声数据

    2023-12-18 23:20:05
  • Flutter 底部弹窗如何实现多项选择

    2023-06-24 17:08:17
  • C#实现提取Word中插入的多媒体文件(视频,音频)

    2022-09-06 14:45:20
  • ListView实现聊天列表之处理不同数据项

    2022-07-01 01:06:58
  • 以一个着色游戏展开讲解Android中区域图像填色的方法

    2023-02-04 10:02:51
  • 详解Java 自动装箱与拆箱的实现原理

    2022-08-16 11:35:51
  • Java 入门图形用户界面设计之单选按钮

    2023-08-29 13:40:02
  • java中String的一些方法深入解析

    2023-11-25 21:48:56
  • 完美解决java读取大文件内存溢出的问题

    2023-07-31 17:53:17
  • Linux中Java开发常用软件安装方法总结

    2022-03-11 16:21:03
  • C#程序打成 一键安装包-InstallShield教程

    2022-11-19 06:02:07
  • SpringBoot异常处理器的使用与添加员工功能实现流程介绍

    2021-10-21 19:24:23
  • 测试springboot项目出现Test Ignored的解决

    2022-06-25 08:37:02
  • 分享Spring Cloud OpenFeign 的五个优化技巧

    2022-06-23 08:53:30
  • 详解Java如何进行Base64的编码(Encode)与解码(Decode)

    2023-01-31 18:53:34
  • Android串口通讯SerialPort的使用详情

    2022-03-08 00:23:46
  • 解决springboot 启动找不到主类的问题

    2023-06-13 04:58:56
  • 详解android与服务端交互的两种方式

    2022-11-08 00:24:51
  • 简单学习Java抽象类要点及实例

    2021-10-11 09:08:12
  • Java创建树形结构算法实例代码

    2021-11-21 22:24:01
  • asp之家 软件编程 m.aspxhome.com