最近的项目中需要将Word转换为PDF文件,找了很多方法和组件,最后找到了一些方法,和大家分享。

一、使用微软官方自带转换方法

好处是写法方便,官方支持,缺点是需要在服务器上安装office,而且要配置COM组件的调用,相当麻烦;感兴趣的可以查一查并配置,代码如下;

        public void WordToPDF()
{
string pathAndName = "D:/test/test.docx";
Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document document = null;
try
{
string wordname = pathAndName + ".docx";
application.Visible = false;
document = application.Documents.Open(wordname);
string pdfPath = pathAndName.Replace(".docx", ".pdf"); //pdf存放位置
if (!System.IO.File.Exists(pdfPath)) //存在PDF,不需要继续转换
{
document.ExportAsFixedFormat(pdfPath,
Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
throw new Exception("word转换失败");
}
finally
{
document.Close();
}
}

二、使用免费的Spire.Doc组件来转换

Spire.Doc有免费的版本和收费的版本,免费的版本可以转换3页的word到pdf,收费的没有使用过;但是使用转换后效果不是很好,和word文档有一些出入,比如word有有下划线没写入内容,转换后下划线不见了等问题,遂放弃了该组件;

代码如下:

        public void wordToPdfWithSpireDoc(string filePath,string wordName,string pdfName)
{
try
{
Document doc = new Document();
doc.LoadFromFile(filePath+wordName);
doc.SaveToFile(filePath + pdfName, FileFormat.PDF);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
} }

三、使用Aspose.Words组件

Aspose.Words是一个商业组件,我们可以使用破解版等;有点转换方便快捷,而且转换效果与word相比,几乎无差别;

   if (File.Exists(exportPath + wordName))
{
Document doc = new Document(exportPath + wordName);
doc.Save(exportPath + pdfName, Aspose.Words.SaveFormat.Pdf);
}

四、总结

word模板导出方法,找到了开源的Xceed.docx,用起来还不错;

Excel模板导出方法,找到了开源的ExcelReport,git地址 https://github.com/hanzhaoxin/ExcelReport

还有wps转换word等方法,就不一一列举,在网上也找了很久,组件很多,合适且免费的相对较少,大家有好的方法和组件也可以相互交流。

Word文档转PDF方法探索的更多相关文章

  1. word文档转pdf,支持.doc和.docx,另附抽取pdf指定页数的方法

    公司有个需求,需要将word转成pdf并且抽取首页用以展示,word文档有需要兼容.doc和.docx两种文档格式.其中.docx通过poi直接就可以将word转成pdf,.doc则无法这样实现,上网 ...

  2. 在linux中使用php将word文档转为pdf

    使用本教程需要在linux中安装openoffice,改页面中有详细的安装与使用教程(http://www.cnblogs.com/sustudy/p/3999628.html). 既然,你看了该教程 ...

  3. 微信公众号怎么添加附件?比如word文档,pdf文件等

    微信公众号怎么添加附件?比如word文档,pdf文件等   我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序“微附件”进行在公众 ...

  4. Python处理PDF和Word文档常用的方法

    Python处理PDF和Word文档的模块是PyPDF2,使用之前需要先导入. 打开一个PDF文档的操作顺序是:用open()函数打开文件并用一个变量来接收,然后把变量给传递给PdfFileReade ...

  5. Python处理PDF和Word文档常用的方法(二)

    Python处理word时,需要安装和导入python-docx模块. 安装命令:pip install python-docx 导入命令:import docx 编码编写顺序:用docx.Docum ...

  6. C#中5步完成word文档打印的方法

    在日常工作中,我们可能常常需要打印各种文件资料,比如word文档.对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工作.特别是提到Web打印,这的确会很棘手.一般如果要想选 ...

  7. 批量转换word文档到pdf文件

    最近在整理每周的工作记录.因为每周的工作记录大都是单独的word文件,有时候忘记了也不容易找出来,一个个打开查找太费劲,因此想着把这些文件通过word2016的另存为功能转换为pdf,然后永Acrob ...

  8. word文档自动生成方法

    创建word文档需要几个接口类,常用application,document,documents,selection等.但word的功能复杂,要认识到每一个类的功能是不可能的.常用的方法是在word的 ...

  9. Java环境中,word文档转PDF直接打开浏览而非下载

    在平台上,需要把文档直接浏览而非下载,实现方法是先把文档转为PDF文件, 但在linux系统中确实汉字字库,所以转换失败,以下是解决方法 后面正式服务器也要添加字库,不然会转换出乱码文件,处理步骤如下 ...

随机推荐

  1. 移动端安卓和 IOS 开发框架 Framework7 布局

    对应的各种效果,Framework7 里面实现的方式比较多,这里我就只写我用的一种,样式有的自己修改了的,想看官方详细的参见 http://framework7.cn 一.手风琴布局Accordion ...

  2. 分享一款颜色神器ColorSchemer Studio

    ColorSchemer Studio是一款专业配色软件,网页设计或平面设计师必备工具,和ColorPix V1.2 屏幕取色同属一个公司佳作,使用ColorSchemer Studio吸取屏幕任一色 ...

  3. 解决Mac OS编译安装时出现 cannot find openssl's <evp.h> 错误的问题

    踩坑 最近通过pecl安装mongodb扩展时,提示以下错误 ...... configure: error: Cannot find OpenSSL's <evp.h> ...... 根 ...

  4. office激活方式,超简单

    只需要安装个小小的程序,亲测安全可靠 详情点击下方链接 https://blog.csdn.net/weixin_40941966/article/details/80872533

  5. 123457123456#0#-----com.threeapp.MakerHanBao01----儿童汉堡制作游戏

    ----com.threeapp.MakerHanBao01----儿童汉堡制作游戏

  6. 123457123456#0#-----com.threeapp.ErTongPaint01-----儿童宝宝绘画涂鸦游戏02

    com.threeapp.ErTongPaint01-----儿童宝宝绘画涂鸦游戏02

  7. SM30维护视图屏蔽按钮

    标准维护视图  GUI状态  ESLG 编辑按钮 AEND 达到效果 DATA: l_act TYPE char1, l_name TYPE dd02v-tabname. DATA: lt_vimex ...

  8. iOS-NSBundle、NSArray、NSDictionay

    NSBundle.NSArray.NSDictionay 读取plist文件 NSDictionary  *dict= [NSDictionary dictionaryWithContentsOfFi ...

  9. Ocelot+Consul 集群搭建实践

    博客园已经有很多大神写过consul集群搭建了.大家都在玩,那我也不能托后退呢 不过自己研究下还是好的.毕竟每个人遇到的问题的不同 研究过才能说自己玩过consul,文章有部分名词解释是收集网络 Co ...

  10. 初步了解Docker容器(三)

    目录 一.初步了解 1.docker run运行容器 2.docker images查看镜像 3.docker ps查看容器 4.查看其Dockerfile文件 二.Docker 知识问答 小结 一. ...