C#将PPT文件转换成PDF文件

 更新时间:2019年01月23日 10:08:51   作者:chenqiangdage  
今天小编就为大家分享一篇关于C#将PPT文件转换成PDF文件,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

这里在提供C#代码,将PPT转成PDF.直接上代码;

要引入Microsoft.Office.Interop.PowerPoint; 版本12.0.0.0;

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using Microsoft.Office.Interop.PowerPoint;
//Office 命名空间
namespace OfficeToPdf
{
  //excel 类
  class PowerPointConverter
  {
    //构造函数
    public PowerPointConverter()
    { }
    /// <summary>
    /// 转换PowerPoint 成PDF文档
    /// </summary>
    /// <param name="_lstrInputFile">原文件路径</param>
    /// <param name="_lstrOutFile">pdf文件输出路径</param>
    /// <returns>true 成功</returns>
    public bool ConverterToPdf(string _lstrInputFile, string _lstrOutFile)
    {
      Microsoft.Office.Interop.PowerPoint.Application lobjPowerPointApp = null;
      Microsoft.Office.Interop.PowerPoint.Presentation lobjppt = null;
      object lobjMissing = System.Reflection.Missing.Value;
      object lobjSaveChanges = null;
      try
      {
        lobjPowerPointApp = new Microsoft.Office.Interop.PowerPoint.Application();
        lobjppt = lobjPowerPointApp.Presentations.Open(_lstrInputFile, MSCore.MsoTriState.msoTrue, MSCore.MsoTriState.msoFalse, MSCore.MsoTriState.msoFalse);
        lobjppt.SaveAs(_lstrOutFile, PpSaveAsFileType.ppSaveAsPDF, MSCore.MsoTriState.msoCTrue);       
      }
      catch (Exception ex)
      {
        //其他日志操作;
        return false;
      }
      finally
      {
        if (lobjppt != null)
        {
          lobjppt.Close();
          Marshal.ReleaseComObject(lobjppt);
          lobjppt = null;
        }
        if (lobjPowerPointApp != null)
        {
          lobjPowerPointApp.Quit();
          Marshal.ReleaseComObject(lobjPowerPointApp);
          lobjPowerPointApp = null;
        }
        //主动激活垃圾回收器,主要是避免超大批量转文档时,内存占用过多,而垃圾回收器并不是时刻都在运行!
        GC.Collect();
        GC.WaitForPendingFinalizers();
      }
      return true;
    }
  }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • c# 开发语音识别程序

    c# 开发语音识别程序

    这篇文章主要介绍了用c# 开发语音识别程序,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2020-09-09
  • 关于C#版Nebula客户端编译的问题

    关于C#版Nebula客户端编译的问题

    这篇文章主要介绍了C#版Nebula客户端编译的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • 详解C#代码生成器实现原理

    详解C#代码生成器实现原理

    这篇文章主要为大家详细介绍了C#代码生成器实现原理的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • Unity 2017使用UGUI实现大转盘抽奖

    Unity 2017使用UGUI实现大转盘抽奖

    这篇文章主要为大家详细介绍了Unity 2017使用UGUI实现大转盘抽奖,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 关于C#连接FTP时路径问题的解决方法

    关于C#连接FTP时路径问题的解决方法

    最近在工作中遇到一个需求,需要利用C#连接FTP,在连接过程中遇到一个问题,所以下面这篇文章主要给大家介绍了关于C#连接FTP时路径问题的解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • C#创建WebService接口并连接的全过程

    C#创建WebService接口并连接的全过程

    工作时遇到需要请求客户的接口返回数据,要求使用WebService,借此机会记录一下,下面这篇文章主要给大家介绍了关于C#创建WebService接口并连接的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • C#身份证识别相关技术功能详解

    C#身份证识别相关技术功能详解

    这篇文章主要介绍了C#身份证识别相关技术详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Unity中Instantiate实例化物体卡顿问题的解决

    Unity中Instantiate实例化物体卡顿问题的解决

    这篇文章主要为大家详细介绍了Unity实现离线计时器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • 在C# WPF下自定义滚动条ScrollViewer样式的操作

    在C# WPF下自定义滚动条ScrollViewer样式的操作

    这篇文章主要介绍了在C# WPF下自定义滚动条ScrollViewer样式的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • C# wpf利用附加属性实现任意控件拖动

    C# wpf利用附加属性实现任意控件拖动

    这篇文章主要为大家详细介绍了C# WPF如何利用附加属性对几种拖动方式进行封装,实现复用性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11

最新评论