.Net 依赖Office将Word转Pdf的实现

开发环境:VS2017、.Net Core2.1 

需求问题:在使用 Aspose.Words 将Word转为pdf时发现,如果是带有图片的word文档,转换Pdf时,会出现错误,转换失败

一、准备工作

安装Office

在项目中创建.Net 类库,从程序集中添加或者NuGet中搜索安装Microsoft.Office.Interop.Word

二、功能实现

word 转pdf代码实现

        /// <summary>
        /// word文档转pdf
        /// </summary>
        /// <param name="sourcePath">word文档路径</param>
        /// <param name="targetPath">生成的pdf路径</param>
        /// <returns></returns>
        public static void WordToPDF(string sourcePath, string targetPath)
        {
            Application application = new Application();
            Document document = null;
            try
            {
                application.Visible = false;
                document = application.Documents.Open(sourcePath);
                document.ExportAsFixedFormat(targetPath, WdExportFormat.wdExportFormatPDF);
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                if (document != null)
                {
                    document.Close();
                }
            }
        }

三、相关问题

在pdf转换过程中如果出现 Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 拒绝访问。 (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).的错误,那么需要做如下操作

打开控制面板,以小图标方式查看,然后找到管理工具,再找到管理工具下的组件服务

在组件服务—— 计算机——我的电脑——DCOM配置 中找到Microsoft Word 97-2003 文档,右击“属性”

选择“标识”选项卡,选择交互式用户 

 

选择“安全”选项卡,将 启动和激活权限、访问权限以及配置权限选择自定义选项 

点击“启动和激活权限” 下方的编辑,添加IIS_IUSRS 用户,然后将启动和激活的四个选项全部选中 

点击“访问权限” 下方的编辑,添加IIS_IUSRS 用户,然后选择本地访问和远程访问

点击“配置权限” 下方的编辑,添加IIS_IUSRS 用户 

 

 

点击确定

项目使用VS2017打开,.net 2.0下运行。 项目使用的微软官方的插件方法,可以将doc, docx, xls, xlsx, ppt, pptx文件换为pdf文件,但是需要: 1、用户需要首先安装一个SaveAsPDFandXPS.exe的工具; 2、如果用户是xp系统,则: 2.1 如果用户安装的是office 2007,则用户在安装office 2007的时候必须要安装Visual Basic for Application 和 Microsoft Office Document Imaging这2个选项,否则换失败; 2.2 如果用户安装的是office 2010,则在安装office 2010时必须要安装Visual Basic for Application选项,然后从office 2007安装包里面安装Microsoft Office Document Imaging(因为2010删除了这个选项,好麻烦~),否则换失败; 2.3 xp不能安装office 2013/2016; 3、如果用户是win7系统,则: 3.1 如果用户安装的是office 2007,则用户在安装office 2007的时候必须要安装Visual Basic for Application 和 Microsoft Office Document Imaging这2个选项,否则换失败; 3.2 如果用户安装的是office 2010,则在安装office 2010时必须要安装Visual Basic for Application选项(win7 + office 2010不需要安装Microsoft Office Document Imaging) 3.3 如果用户安装的是office 2013或2016,则不需要额外选项; 4、如果用户是win10系统,则: 4.1 如果用户安装的是office 2007,则用户在安装office 2007的时候必须要安装Visual Basic for Application这个选项,(win10 + office 2007不需要安装Microsoft Office Document Imaging)否则换失败; 4.2 如果用户安装的是office 2010,则在安装office 2010时必须要安装Visual Basic for Application选项(win10 + office 2010不需要安装Microsoft Office Document Imaging) 4.3 如果用户安装的是office 2013或2016,则不需要额外选项; 5、如果用户安装了wps 2016或者wps 2019也可以正常换。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值