Logo

C# ppt文件转换为pdf文件

photo

2024年04月09日

使用第三方插件 Office 实现转换

1.Application方式转换



        /// <summary>
        /// Microsoft.Office.Interop.PowerPoint
        /// 使用第三方软件 office
        /// </summary>
        /// <param name="pptPath">需要转换的ppt文件路径</param>
        /// <param name="pdfPath">转换后的路径</param>
        public static void OfferPptToPdf(string pptPath, string pdfPath)
        {
            try
            {
                pdfPath=pdfPath.Replace('/', '\\');
                //创建对象 并且打开ppt文件
                Microsoft.Office.Interop.PowerPoint.Application pptApplication = new Microsoft.Office.Interop.PowerPoint.Application();
                Microsoft.Office.Interop.PowerPoint.Presentation pptPresentation = pptApplication.Presentations.Open(pptPath, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);

                //if (!File.Exists(newfilePath))//不存在
                //{
                //ppt文件 保存为pdf文件
                pptPresentation.SaveAs(pdfPath, Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsPDF, Microsoft.Office.Core.MsoTriState.msoFalse);
                //}

                //关闭对象
                pptPresentation.Close();
            }
            catch (Exception ex)
            {

                throw;
            }
        }

2.ApplicationClass方式转换


        /// <summary>
        /// Microsoft.Office.Interop.PowerPoint
        /// 把PowerPoing文件转换成PDF格式文件
        /// </summary>
        /// <param name="pptPath">源文件路径</param>
        /// <param name="pdfPath">目标文件路径</param>
        /// <returns>true=转换成功</returns>
        public static bool PPTConvertToPDF(string pptPath, string pdfPath)
        {
            bool result;

            pdfPath = pdfPath.Replace('/', '\\');
            Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType targetFileType = Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsPDF;
            object missing = Type.Missing;
            Microsoft.Office.Interop.PowerPoint.ApplicationClass application = null;
            Microsoft.Office.Interop.PowerPoint.Presentation persentation = null;
            try
            {
                application = new Microsoft.Office.Interop.PowerPoint.ApplicationClass();
                persentation = application.Presentations.Open(pptPath, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
                persentation.SaveAs(pdfPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue);

                result = true;
            }
            catch (Exception ex)
            {
                result = false;
            }
            finally
            {
                if (persentation != null)
                {
                    persentation.Close();
                    persentation = null;
                }
                if (application != null)
                {
                    application.Quit();
                    application = null;
                }
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
            return result;
        }

使用第三方插件 Spire.Presentation 实现转换


        /// <summary>
        /// Spire.Presentation 正版需要付费
        /// </summary>
        /// <param name="pptPath"></param>
        /// <param name="pdfPath"></param>
        public static void pptToPdf(string pptPath, string pdfPath)
        {
            Spire.Presentation.Presentation presentation = new Spire.Presentation.Presentation();
            presentation.LoadFromFile(pptPath);
            presentation.SaveToFile(pdfPath, Spire.Presentation.FileFormat.PDF);
        }

使用第三方插件 Aspose.Slides 实现转换


        public const string Key =
            "PExpY2Vuc2U+DQogIDxEYXRhPg0KICAgIDxMaWNlbnNlZFRvPkFzcG9zZSBTY290bGFuZCB" +
            "UZWFtPC9MaWNlbnNlZFRvPg0KICAgIDxFbWFpbFRvPmJpbGx5Lmx1bmRpZUBhc3Bvc2UuY2" +
            "9tPC9FbWFpbFRvPg0KICAgIDxMaWNlbnNlVHlwZT5EZXZlbG9wZXIgT0VNPC9MaWNlbnNlV" +
            "HlwZT4NCiAgICA8TGljZW5zZU5vdGU+TGltaXRlZCB0byAxIGRldmVsb3BlciwgdW5saW1p" +
            "dGVkIHBoeXNpY2FsIGxvY2F0aW9uczwvTGljZW5zZU5vdGU+DQogICAgPE9yZGVySUQ+MTQ" +
            "wNDA4MDUyMzI0PC9PcmRlcklEPg0KICAgIDxVc2VySUQ+OTQyMzY8L1VzZXJJRD4NCiAgIC" +
            "A8T0VNPlRoaXMgaXMgYSByZWRpc3RyaWJ1dGFibGUgbGljZW5zZTwvT0VNPg0KICAgIDxQc" +
            "m9kdWN0cz4NCiAgICAgIDxQcm9kdWN0PkFzcG9zZS5Ub3RhbCBmb3IgLk5FVDwvUHJvZHVj" +
            "dD4NCiAgICA8L1Byb2R1Y3RzPg0KICAgIDxFZGl0aW9uVHlwZT5FbnRlcnByaXNlPC9FZGl" +
            "0aW9uVHlwZT4NCiAgICA8U2VyaWFsTnVtYmVyPjlhNTk1NDdjLTQxZjAtNDI4Yi1iYTcyLT" +
            "djNDM2OGYxNTFkNzwvU2VyaWFsTnVtYmVyPg0KICAgIDxTdWJzY3JpcHRpb25FeHBpcnk+M" +
            "jAxNTEyMzE8L1N1YnNjcmlwdGlvbkV4cGlyeT4NCiAgICA8TGljZW5zZVZlcnNpb24+My4w" +
            "PC9MaWNlbnNlVmVyc2lvbj4NCiAgICA8TGljZW5zZUluc3RydWN0aW9ucz5odHRwOi8vd3d" +
            "3LmFzcG9zZS5jb20vY29ycG9yYXRlL3B1cmNoYXNlL2xpY2Vuc2UtaW5zdHJ1Y3Rpb25zLm" +
            "FzcHg8L0xpY2Vuc2VJbnN0cnVjdGlvbnM+DQogIDwvRGF0YT4NCiAgPFNpZ25hdHVyZT5GT" +
            "zNQSHNibGdEdDhGNTlzTVQxbDFhbXlpOXFrMlY2RThkUWtJUDdMZFRKU3hEaWJORUZ1MXpP" +
            "aW5RYnFGZkt2L3J1dHR2Y3hvUk9rYzF0VWUwRHRPNmNQMVpmNkowVmVtZ1NZOGkvTFpFQ1R" +
            "Hc3pScUpWUVJaME1vVm5CaHVQQUprNWVsaTdmaFZjRjhoV2QzRTRYUTNMemZtSkN1YWoyTk" +
            "V0ZVJpNUhyZmc9PC9TaWduYXR1cmU+DQo8L0xpY2Vuc2U+";
        //去掉水印
        //new Aspose.Slides.License().SetLicense(new MemoryStream(Convert.FromBase64String(Key)));

        /// <summary>
        /// Aspose.Slides 正版需要付费
        /// ppt文件转化为pdf文件  AsposepptToPdf
        /// </summary>
        /// <param name="pptPath"></param>
        /// <param name="pdfPath"></param>
        /// <returns></returns>
        public static bool AsposepptToPdf(string pptPath, string pdfPath)
        {
            try
            {
                new Aspose.Slides.License().SetLicense(new MemoryStream(Convert.FromBase64String(Key)));
                Aspose.Slides.Presentation ppt = new Aspose.Slides.Presentation(pptPath);
                FileStream fileOS = new FileStream(pdfPath, FileMode.Create);
                ppt.Save(fileOS, Aspose.Slides.Export.SaveFormat.Pdf);
                return true;

            }
            catch (Exception ex)
            {
                return false;
            }
        }

ppt转换帮助类

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;

namespace TTApi.Methods
{
    /// <summary>
    /// Aspose.Slides v:15.1.0
    /// Spire.Presentation
    /// Microsoft.Office.Interop.PowerPoint
    /// ppt转换为pdf
    /// </summary>
    public class PresentationHelper
    {
        public const string Key =
            "PExpY2Vuc2U+DQogIDxEYXRhPg0KICAgIDxMaWNlbnNlZFRvPkFzcG9zZSBTY290bGFuZCB" +
            "UZWFtPC9MaWNlbnNlZFRvPg0KICAgIDxFbWFpbFRvPmJpbGx5Lmx1bmRpZUBhc3Bvc2UuY2" +
            "9tPC9FbWFpbFRvPg0KICAgIDxMaWNlbnNlVHlwZT5EZXZlbG9wZXIgT0VNPC9MaWNlbnNlV" +
            "HlwZT4NCiAgICA8TGljZW5zZU5vdGU+TGltaXRlZCB0byAxIGRldmVsb3BlciwgdW5saW1p" +
            "dGVkIHBoeXNpY2FsIGxvY2F0aW9uczwvTGljZW5zZU5vdGU+DQogICAgPE9yZGVySUQ+MTQ" +
            "wNDA4MDUyMzI0PC9PcmRlcklEPg0KICAgIDxVc2VySUQ+OTQyMzY8L1VzZXJJRD4NCiAgIC" +
            "A8T0VNPlRoaXMgaXMgYSByZWRpc3RyaWJ1dGFibGUgbGljZW5zZTwvT0VNPg0KICAgIDxQc" +
            "m9kdWN0cz4NCiAgICAgIDxQcm9kdWN0PkFzcG9zZS5Ub3RhbCBmb3IgLk5FVDwvUHJvZHVj" +
            "dD4NCiAgICA8L1Byb2R1Y3RzPg0KICAgIDxFZGl0aW9uVHlwZT5FbnRlcnByaXNlPC9FZGl" +
            "0aW9uVHlwZT4NCiAgICA8U2VyaWFsTnVtYmVyPjlhNTk1NDdjLTQxZjAtNDI4Yi1iYTcyLT" +
            "djNDM2OGYxNTFkNzwvU2VyaWFsTnVtYmVyPg0KICAgIDxTdWJzY3JpcHRpb25FeHBpcnk+M" +
            "jAxNTEyMzE8L1N1YnNjcmlwdGlvbkV4cGlyeT4NCiAgICA8TGljZW5zZVZlcnNpb24+My4w" +
            "PC9MaWNlbnNlVmVyc2lvbj4NCiAgICA8TGljZW5zZUluc3RydWN0aW9ucz5odHRwOi8vd3d" +
            "3LmFzcG9zZS5jb20vY29ycG9yYXRlL3B1cmNoYXNlL2xpY2Vuc2UtaW5zdHJ1Y3Rpb25zLm" +
            "FzcHg8L0xpY2Vuc2VJbnN0cnVjdGlvbnM+DQogIDwvRGF0YT4NCiAgPFNpZ25hdHVyZT5GT" +
            "zNQSHNibGdEdDhGNTlzTVQxbDFhbXlpOXFrMlY2RThkUWtJUDdMZFRKU3hEaWJORUZ1MXpP" +
            "aW5RYnFGZkt2L3J1dHR2Y3hvUk9rYzF0VWUwRHRPNmNQMVpmNkowVmVtZ1NZOGkvTFpFQ1R" +
            "Hc3pScUpWUVJaME1vVm5CaHVQQUprNWVsaTdmaFZjRjhoV2QzRTRYUTNMemZtSkN1YWoyTk" +
            "V0ZVJpNUhyZmc9PC9TaWduYXR1cmU+DQo8L0xpY2Vuc2U+";
        //去掉水印
        //new Aspose.Slides.License().SetLicense(new MemoryStream(Convert.FromBase64String(Key)));

        /// <summary>
        /// Aspose.Slides 正版需要付费
        /// ppt文件转化为pdf文件  AsposepptToPdf
        /// </summary>
        /// <param name="pptPath"></param>
        /// <param name="pdfPath"></param>
        /// <returns></returns>
        public static bool AsposepptToPdf(string pptPath, string pdfPath)
        {
            try
            {
                new Aspose.Slides.License().SetLicense(new MemoryStream(Convert.FromBase64String(Key)));
                Aspose.Slides.Presentation ppt = new Aspose.Slides.Presentation(pptPath);
                FileStream fileOS = new FileStream(pdfPath, FileMode.Create);
                ppt.Save(fileOS, Aspose.Slides.Export.SaveFormat.Pdf);
                return true;

            }
            catch (Exception ex)
            {
                return false;
            }
        }


        /// <summary>
        /// Spire.Presentation 正版需要付费
        /// </summary>
        /// <param name="pptPath"></param>
        /// <param name="pdfPath"></param>
        public static void pptToPdf(string pptPath, string pdfPath)
        {
            Spire.Presentation.Presentation presentation = new Spire.Presentation.Presentation();
            presentation.LoadFromFile(pptPath);
            presentation.SaveToFile(pdfPath, Spire.Presentation.FileFormat.PDF);
        }


        /// <summary>
        /// Microsoft.Office.Interop.PowerPoint
        /// 使用第三方软件 office
        /// </summary>
        /// <param name="pptPath">需要转换的ppt文件路径</param>
        /// <param name="pdfPath">转换后的路径</param>
        public static void OfferPptToPdf(string pptPath, string pdfPath)
        {
            try
            {
                pdfPath=pdfPath.Replace('/', '\\');
                //创建对象 并且打开ppt文件
                Microsoft.Office.Interop.PowerPoint.Application pptApplication = new Microsoft.Office.Interop.PowerPoint.Application();
                Microsoft.Office.Interop.PowerPoint.Presentation pptPresentation = pptApplication.Presentations.Open(pptPath, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);

                //if (!File.Exists(newfilePath))//不存在
                //{
                //ppt文件 保存为pdf文件
                pptPresentation.SaveAs(pdfPath, Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsPDF, Microsoft.Office.Core.MsoTriState.msoFalse);
                //}

                //关闭对象
                pptPresentation.Close();
            }
            catch (Exception ex)
            {

                throw;
            }
        }


        /// <summary>
        /// Microsoft.Office.Interop.PowerPoint
        /// 把PowerPoing文件转换成PDF格式文件
        /// </summary>
        /// <param name="pptPath">源文件路径</param>
        /// <param name="pdfPath">目标文件路径</param>
        /// <returns>true=转换成功</returns>
        public static bool PPTConvertToPDF(string pptPath, string pdfPath)
        {
            bool result;

            pdfPath = pdfPath.Replace('/', '\\');
            Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType targetFileType = Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsPDF;
            object missing = Type.Missing;
            Microsoft.Office.Interop.PowerPoint.ApplicationClass application = null;
            Microsoft.Office.Interop.PowerPoint.Presentation persentation = null;
            try
            {
                application = new Microsoft.Office.Interop.PowerPoint.ApplicationClass();
                persentation = application.Presentations.Open(pptPath, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
                persentation.SaveAs(pdfPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue);

                result = true;
            }
            catch (Exception ex)
            {
                result = false;
            }
            finally
            {
                if (persentation != null)
                {
                    persentation.Close();
                    persentation = null;
                }
                if (application != null)
                {
                    application.Quit();
                    application = null;
                }
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
            return result;
        }

    }
}

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

热门文章

无法握住的故土 在我们心灵最温暖的角落,总有一寸土地是属于故乡的。虽然我们看似已远离故土,可骨子里对故乡的依恋却是从未冷却过。我们无论漂泊他乡,还是在繁华都市平步青云,可故乡的悠悠情思总会潜入梦乡与你缠绵。是儿时那一缕缕茉莉的清香萦绕在梦境,也是邻家那已锈迹斑斑的铁壶里,开出艳丽的花儿在梦的边缘摇曳。故土就这样根深蒂固地在我们的灵魂深处烙下深深的印记。 作者:Pastore Antonio
1599 浏览量
EWS(Exchange Service)基本使用(获取个人会议,会议室会议内容,会议室列表,发送会议,修改会议,删除会议) 最近公司要求和exchange服务对接,所以稍微研究了一下官方文档,做出以下总结,欢迎大家补充。先...EWS(ExchangeService)基本使用(获取个人会议,会议室会议内容,会议室列表,发送会议,修改会议,删除会议) 作者:Pastore Antonio
1585 浏览量
Sql Server 部署SSIS包完成远程数据传输 本篇介绍如何使用SSIS和作业完成自动更新目标数据任务。**温馨提示:如需转载本文,请注明...SqlServer部署SSIS包完成远程数据传输 作者:Pastore Antonio
1580 浏览量
SQL Server AG集群启动不起来的临时自救大招 背景前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群...SQLServerAG集群启动不起来的临时自救大招 作者:Pastore Antonio
1573 浏览量
windows 下安装 memcahce 官网上并未提供Memcached的Windows平台安装包,我们可以使用以下链接来下载,你需...windows下安装memcahce 作者:Pastore Antonio
1572 浏览量