开发环境: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 用户
点击确定