首页 > 其他分享 >Office文档转pdf格式(二)

Office文档转pdf格式(二)

时间:2023-11-02 10:34:08浏览次数:20  
标签:false Word Office Excel return 文档 pdf null string

  上一篇我们使用的是微软的Office组件将Word、Excel、Powerpoint转为pdf格式,本文将使用WPS Office组件进行转换。步骤如下:

 ① 添加WPS组件相关引用

    

    

 注:wpsapi.dll 对应的是Word 文件API;etapi.dll 对应的是Excel 文件API;wppapi 对应的是PPT 文件API;

② 编写Office帮助类

public class WPSOfficeHelper
    {

        /// <summary>
        /// Word转换为pdf文件,适合(.doc、.docx、.mht、.htm文件类型)
        /// </summary>
        /// <param name="sourceFileName">源文件</param>
        /// <param name="targetFileName">目标文件</param>
        /// <returns></returns>
        public static bool WordToPdf(string sourceFileName, string targetFileName)
        {
            Word.Application wordApp = new Word.Application();
            Word._Document wordDoc = null;
            try
            {
                wordApp.Visible = false;
                wordDoc = wordApp.Documents.Open(sourceFileName, false, true);
                wordDoc.ExportAsFixedFormat(targetFileName, Word.WdExportFormat.wdExportFormatPDF);
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }

            finally
            {
                if (wordDoc != null)
                {
                    wordDoc.Close(false);
                    wordDoc = null;
                }
                if (wordApp != null)
                {
                    wordApp.Quit(false);
                    wordApp = null;
                }
            }
        }

        /// <summary>
        /// Excel转换为pdf文件
        /// </summary>
        /// <param name="sourceFileName">源文件</param>
        /// <param name="targetFileName">目标文件</param>
        /// <returns></returns>
        public static bool ExcelToPdf(string sourceFileName,string targetFileName)
        {
            Excel.Application excelApp = new Excel.Application();
            Excel._Workbook excelDoc = null;
            try
            {
                excelApp.Visible = false;
                excelDoc = excelApp.Workbooks.Open(sourceFileName, false, true);
                excelDoc.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, targetFileName);
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
            finally
            {
                if (excelDoc != null)
                {
                    excelDoc.Close(false);
                    excelDoc = null;
                }
                if (excelApp != null)
                {
                    excelApp.Quit();
                    excelApp = null;
                }
            }
        }

        /// <summary>
        /// PPT转换为pdf文件
        /// </summary>
        /// <param name="sourceFileName">源文件</param>
        /// <param name="targetFileName">目标文件</param>
        /// <returns></returns>
        public static bool PPTToPdf(string sourceFileName, string targetFileName)
        {
            PowerPoint.Application pptApp = new PowerPoint.Application();
            PowerPoint.Presentation pptDoc = null;
            try
            {
                pptDoc = pptApp.Presentations.Open(sourceFileName);
                pptDoc.ExportAsFixedFormat(targetFileName,PowerPoint.PpFixedFormatType.ppFixedFormatTypePDF);
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
            finally
            {
                if (pptDoc != null)
                {
                    pptDoc.Close();
                    pptDoc = null;
                }
                if (pptApp != null)
                {
                    pptApp.Quit();
                    pptApp = null;
                }
            }
        }

    }
View Code

    最后,就可以调用进行转换了。

注意:

①该方式目前只能用于Windows系统

②该方式依赖WPS Office软件

③在.net framework和.net core的项目下均可使用(以Win Form项目为例)

 

标签:false,Word,Office,Excel,return,文档,pdf,null,string
From: https://www.cnblogs.com/Artizan/p/17804833.html

相关文章

  • PageOffice保存时The file format is not allowed
    情景描述:最新用PageOffice做word在线编辑功能,但是保存时一直报错Thefileformatisnotallowed。如下图:问题分析:把word文件放到官方demo中,编辑保存没有问题,最后排查到是pageofficeCtrl.WebOpen传入的参数DocumentURL问题。//保存时出现错误pageofficeCtrl.WebOpen("C:\\Reso......
  • “共享书角”图书借还管理系统 小程序-计算机毕业设计源码+LW文档
    小程序框架:uniapp小程序开发软件:HBuilderX小程序运行软件:微信开发者数据库:DROPTABLEIFEXISTSchujiezhe;/*!40101SET@saved_cs_client=@@character_set_client/;/!40101SETcharacter_set_client=utf8/;CREATETABLEchujiezhe(idbigint(20)NOTNULLAUT......
  • “口腔助手”小程序的设计与实现-计算机毕业设计源码+LW文档
    摘 要随着信息时代的来临,过去的“口腔助手”管理方式缺点逐渐暴露,现在对过去的“口腔助手”管理方式的缺点进行分析,采取计算机方式构建“口腔助手”小程序。本文通过阅读相关文献,研究国内外相关技术,提出了一种预约信息管理、“口腔助手”管理于一体的系统构建方案。本文通过采......
  • 大学生党务学习平台-计算机毕业设计源码+LW文档
    摘 要如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统大学生党务学习平台信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个大学生党......
  • 如何在 Deepin 上安装 ONLYOFFICE 桌面编辑器 7.5
    ONLYOFFICE 桌面编辑器是一款基于依据 AGPL v.3 许可进行分发的开源办公套件。使用这款应用,您无需保持网络连接状态即可处理存储在计算机上的文档。本指南会向您介绍,如何在 Deepin上安装 ONLYOFFICE 桌面编辑器。ONLYOFFICE桌面版是什么ONLYOFFICE编辑器桌面版是一款全面......
  • 懒人必备!编辑器内写完代码一键调试、一键生成接口文档
    国产API调试工具Apipost推出IDEA插件,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。ApipostHelper=API调试工具+API管理工具+API搜索工具。在商店中搜索或直接点击下方链接即可下载:https://plugins.jetbrains.com/p......
  • odoo 下载大量pdf使用内存太大,异常退出,pdf 分页
    说白了,还是因为wkhtmltopdf工具使用的内存太大,打印200个页面就会直接内存超标,直接退出直接改源码了,每次让pdf转换工具只处理50个记录@http.route(['/report/download'],type='http',auth="user")defreport_download(self,data,token):"""Thisfunctionis......
  • odoo pdf 打印任务后台运行,pdf保存在附件中, 借助queue_job模块实现后台打印
    用户故事:在打印大批量pdf文件时会有较长事件的等待,而且容易中断原因中断原因,有内存及超时限制,wkhtmltopdf工具比较吃内存解决方案:内存限制的问题可以分批处理,比如每次只处理50条记录代码示例,使用按钮触发的打印功能:#model:[email protected]......
  • 无忧企业文档2.1.8版本新增文档级权限控制
    无忧企业文档是一款针对企业用户提供在线文档、协同编辑、知识管理的基础化办公工具,产品采用B/S构架。功能覆盖场景包括:在线文档的私有化部署、团队协同、知识管理、在线文档识别的扩展、文档权限化管理等等场景。本次2.1.8版本新增了文档级权限控制核心功能,具体介绍如下:文档级权限......
  • 【专题】2021 年中国电力行业经济运行报告PDF合集分享(附原数据表)
    报告合集根据实践创新,我们提出了“云上新型电力系统”,该系统将加速电力流、信息流和价值流的融通流动,通过更灵活高效的能源资源优化配置平台,支持大规模的新能源开发和利用。这一系统将为电力业务创新、电力行业发展以及全社会的绿色生产和生活提供坚实保障,并创造无限的可能性。电......