ASP.NET使用WPS WORD转PDF

开发环境:
Windows10 64位+ WPS 2019企业版 +Visual Studio 2019
这是最近又接触到了word和excel转pdf的问题,所以跑回来更新了一下这文。个人感觉在.NET里还是
wps比较友好一些。虽然可能大家都在用npoi,我自己还是喜欢wps。
开发步骤 :
1.直接官网下载wps企业版,安装好后自己网上找个激活码就行,一定得激活或者你有破解版也行,不然还是调用不起来
2.代码引用微软的office组件就行,wps的本质其实也是基于office。

下面直接上代码(代码我是直接从另一个大佬的论坛搬过来的,添加了一些我自己的理解):

// An highlighted block
public class WordToPdfHelper : IDisposable{public static readonly log4net.ILog log =log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);dynamic wps;public WordToPdfHelper(){//创建wps实例,需提前安装wpsType type = Type.GetTypeFromProgID("KWps.Application");//如果CreateInstance()报错出现检索 COM 类工厂中 CLSID 为{} 的组件时失败,有几种情况 我在下面会解释wps = Activator.CreateInstance(type);}/// <summary>/// Word转PDF/// </summary>/// <param name="wordPath">Word文件路径</param>/// <param name="pdfPath">Pdf文件路径</param>/// <returns></returns>public bool ToPdf(string wordPath, string pdfPath=null){try{if (wordPath == null){throw new ArgumentNullException("wpsFilename");}if (pdfPath == null){pdfPath = Path.ChangeExtension(wordPath, "pdf");}//用wps 打开word不显示界面dynamic doc = wps.Documents.Open(wordPath, Visible: false);//doc 转pdf doc.ExportAsFixedFormat(pdfPath, Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF);//设置隐藏菜单栏和工具栏//wps.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);doc.Close();Dispose(); //用完了记得释放进程}catch (Exception ex){Dispose(); return false;}return true;}public void Dispose(){if (wps != null) { wps.Quit(); }}}


**代码很简单,过程我就只遇到下面这问题,如果有朋友有疑问也可以留言,我看到会帮你解答

Type type = Type.GetTypeFromProgID(“KWps.Application”);
这句如果没有安装WPS是取不到type 的会出现NULL。

Activator.CreateInstance(type);
这里花费了我最多时间。第一次遇到COM引用出错:

检索 COM 类工厂中 CLSID 为 {000209FF-0000-4B30-A977-D214852036FF} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))。

遇到这个错误需要把IIS的线程池里的应用程序池标识改为LocalSystem

这样就可以顺利运行啦

ASP.NET使用WPS WORD转PDF相关推荐

  1. ASP.Net实现将Word转换PDF格式

    前言:由于一个客户的项目中需要将 Word文档 转换成 PDF 格式,故写了本篇实站教程 需求分析:客户的项目以B/S结构为主,提供一个Word文件在后台自动转换成PDF,经过实际测试,如果该篇Wor ...

  2. poi中word中表格跨列合并以及不兼容wps问题,java下 linux下word转pdf 问题解决

    最近需要在word中绘制表格,绘制完成后发现 wps不支持poi的跨列合并,百度没有找到好的解决办法.自己在office中把文档转换为doc格式之后发现wps可以正常显示word中的表格了,同时之前微 ...

  3. 引用wps进行word转pdf操作

    1.在安装的wps下复制 etapi.dll,wppapi.dll,wpsapi.dll,这三个文件可以操作word,powerpoint,excel: 2.点击word引用,属性->嵌入互操作 ...

  4. Asp.Net基于WPS预览Word和Excel

    用浏览器做在线Office文件可以调用微软Office的接口把Word和Excel转换成html再展示.也能基于WPS吧Word和Excel转换成PDF做在线预览. 基于Office做文件转换,服务器 ...

  5. 用ASP.Net实现将Word文档转换为PDF格式

    前言:由于一个客户的项目中需要将WORD文档转换成PDF格式,故写了本篇实站教程 需求分析:客户的项目以B/S结构为主,提供一个WORD文件在后台自动转换成PDF,经过实际测试,如果该篇WORD文档有 ...

  6. .NetCore实现word转PDF无第三方水印+批量生成自定义水印(不用安装Microsoft和WPS插件)

    技术实现: Aspose18.7破解版Word转PDF无官方水印,使用Aspose破解版需要在Nuget中下载安装 SkiaSharp1.60.0 iTextSharp添加自定义水印,平铺展示 Dem ...

  7. wps、word转pdf断字换行

    现象: 如下word内容,转换为pdf后格式内容断字换行了,转换后需要和word格式一致. 调整方法: 如下图所示,点击word的段落样式,进行如下调整. 调整后再word转pdf,显示正常.

  8. Word转换PDF格式的C#或ASP.Net实战

    <script language='javascript' src='http://www.shiqiaotou.com/donetk/Header.js'></script> ...

  9. 【python自动化办公02】word操作-word转pdf

    点击上方"AI搞事情"关注我们 清明 Python调用Win32com实现Office批量转PDF https://www.cnblogs.com/lolipop2019/p/14 ...

  10. php 调用openoffice,PHP调用OpenOffice实现word转PDF的方法

    最近一直在研究PHP word文档转PDF,也在网上搜索了很多类似的资料,大多数都是通过OpenOffice进行转换的. 核心的代码如下: function MakePropertyValue($na ...

最新文章

  1. SQLite管理工具绿色
  2. js小案例:控制电灯开关
  3. 蓄水池问题c语言编程,蓄水池大作战
  4. jquery级试题_jQuery经典面试题及答案精选
  5. matlab levy,Levy Flight 模型及Matlab实现
  6. python 查询sqlserver 视图_在Python中,将SQL查询的输出显示为表,就像在SQL中一样...
  7. ftp挂载分区上去后无法识别的问题
  8. java webcms系统源码_java轻量级的CMS系统-天梯
  9. Spark sql数据倾斜优化的一个演示案例
  10. python接口测试覆盖率统计_pytest文档57-计算单元测试代码覆盖率(pytest-cov)
  11. vue入门实例-输入行列,自定义表格
  12. js图片轮播指示器箭头淡入淡出
  13. 我的python学习(前言 初生牛犊不怕虎)
  14. 4.Mybatis 环境搭建
  15. 一次 TLS SNI 问题
  16. 2022低压电工操作证考试题及模拟考试
  17. cocos creator周边工具开发【spine预览】小记
  18. git代码从A库某分支迁到B库某分支(亲测有效)
  19. 【JMeter】JMeter怎么实现接口关联?
  20. 荣盛发展,或正在步华夏幸福后尘

热门文章

  1. 在Mac上Topaz Gigapixel AI作为Photoshop插件未显示在“文件”->“自动”中的解决方法
  2. 新浪和腾讯微博开放平台比较
  3. 软件测试之软件测试方法
  4. 关于高德地图自定义地图样式只显示中国的解决方案
  5. Maya2009 万里绿色双语版下载链接
  6. maya布料预设解析
  7. Jellybean 4.1.1 精简列表+谷歌服务包精简列表
  8. php免杀教程【绝对原创】
  9. 计算机网络在办公自动化的应用,浅析计算机网络在办公自动化中的作用
  10. 如何修复win7蓝牙服务器,高手亲自解决win7卸载蓝牙驱动的修复操作