C# ppt转PDF

来源:互联网 发布:善领端口是那个文件 编辑:程序博客网 时间:2024/05/16 16:19

这里在提供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;        }    }}


0 0
原创粉丝点击