当前位置: 代码网 > it编程>编程语言>C# > C#利用ms office实现office转pdf的示例代码

C#利用ms office实现office转pdf的示例代码

2024年11月03日 C# 我要评论
前提安装office 2019安装vs 2022新建项目引入4个com包编写代码代码结构代码如下using microsoft.office.interop.excel;namespace usems

前提

安装office 2019
安装vs 2022

新建项目

引入4个com包

在这里插入图片描述

在这里插入图片描述

编写代码

代码结构

在这里插入图片描述

代码如下

using microsoft.office.interop.excel;

namespace usemsoffice
{
    internal class program
    {
        static void main(string[] args)
        {
            wordtopdf();
            exceltopdf();
            ppttopdf();
        }

        static void wordtopdf()
        {
            // word应用程序对象  
            var wordapp = new microsoft.office.interop.word.application();
            microsoft.office.interop.word.document? doc = null;
            string root = system.appdomain.currentdomain.setupinformation.applicationbase ?? "";
            try
            {
                // 设置为不可见模式  
                wordapp.visible = false;
                var docpath = path.combine(root, "document", "office.docx");
                // 打开一个现有的word文档  
                doc = wordapp.documents.open(docpath);

                // 将文档另存为pdf  
                string pdfpath = path.combine(root, $"{datetime.now.tostring("yyyy_mm_dd_hh_mm_ss")}_office.pdf");
                doc.exportasfixedformat(pdfpath, microsoft.office.interop.word.wdexportformat.wdexportformatpdf);

                // 关闭文档和word应用  
                doc.close();
                wordapp.quit();

                console.writeline("文档已成功转换为pdf格式。");
            }
            catch (exception ex)
            {
                console.writeline("发生错误:" + ex.message);
            }
            finally
            {
                // 释放com对象  
                system.runtime.interopservices.marshal.releasecomobject(doc);
                system.runtime.interopservices.marshal.releasecomobject(wordapp);
                doc = null;
                wordapp = null;
            }
        }

        static void exceltopdf()
        {
            // excel应用程序对象  
            var excelapp = new microsoft.office.interop.excel.application();
            microsoft.office.interop.excel.workbook workbook = null;
            string root = system.appdomain.currentdomain.setupinformation.applicationbase ?? "";
            try
            {
                // 设置为不可见模式  
                excelapp.visible = false;
                var docpath = path.combine(root, "document", "office.xlsx");
                // 打开一个现有的word文档  
                workbook = excelapp.workbooks.open(docpath);

                // 将文档另存为pdf  
                string pdfpath = path.combine(root, $"{datetime.now.tostring("yyyy_mm_dd_hh_mm_ss")}_office.pdf");
                workbook.exportasfixedformat(xlfixedformattype.xltypepdf, pdfpath);

                // 关闭文档和word应用  
                workbook.close();
                excelapp.quit();

                console.writeline("文档已成功转换为pdf格式。");
            }
            catch (exception ex)
            {
                console.writeline("发生错误:" + ex.message);
            }
            finally
            {
                // 释放com对象  
                system.runtime.interopservices.marshal.releasecomobject(workbook);
                system.runtime.interopservices.marshal.releasecomobject(excelapp);
                workbook = null;
                excelapp = null;
            }
        }

        static void ppttopdf()
        {
            // excel应用程序对象  
            var pptapp = new microsoft.office.interop.powerpoint.application();
            microsoft.office.interop.powerpoint.presentation presentation = null;
            string root = system.appdomain.currentdomain.setupinformation.applicationbase ?? "";
            try
            {
                // 设置为不可见模式  
                pptapp.visible = microsoft.office.core.msotristate.msofalse;
                var docpath = path.combine(root, "document", "office.pptx");
                // 打开一个现有的word文档  
                presentation = pptapp.presentations.open(docpath);

                // 将文档另存为pdf  
                string pdfpath = path.combine(root, $"{datetime.now.tostring("yyyy_mm_dd_hh_mm_ss")}_office.pdf");
                presentation.exportasfixedformat(pdfpath,microsoft.office.interop.powerpoint.ppfixedformattype.ppfixedformattypepdf);

                // 关闭文档和word应用  
                presentation.close();
                pptapp.quit();

                console.writeline("文档已成功转换为pdf格式。");
            }
            catch (exception ex)
            {
                console.writeline("发生错误:" + ex.message);
            }
            finally
            {
                // 释放com对象  
                system.runtime.interopservices.marshal.releasecomobject(presentation);
                system.runtime.interopservices.marshal.releasecomobject(pptapp);
                presentation = null;
                pptapp = null;
            }
        }
    }
}

测试

在这里插入图片描述

以上就是c#利用ms office实现office转pdf的示例代码的详细内容,更多关于c# ms office实现office转pdf的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com