在windows系统上word转pdf
一、前言:我在做文件转换过程中遇到的一些坑,在这里记录下,因为项目需求,需要使用html转pdf,由于itext转换质量问题(一些Css属性不起作用),导致只能通过word文件作为跳板来转换到pdf文件,word转pdf使用的是apache的poi包,在这里不详细赘述该转换过程,有需要的朋友可以去网络搜索,有很多文章做讲解,下面进入正题。。。。
二、版本说明:首先word转pdf是在window机器上进行的,转换之前的环境需要安装 windows office ,版本就不限制了,我用的office 2007,另一台电脑上用的是office 2010,都可以,在word转换pdf前需要装一个插件,如果没有的请戳链接:
http://r.office.microsoft.com/r/rlidMSAddinPDFXPS
三、查看是否安装插件:
1、新建一个word文件,点击另存为,如下图显示:“查找其他文件格式的加载项” 表示没有安装好插件

2、点击 “查找其他文件格式的加载项”,进入到下面的页面,点击 “安装Publish并将其作用Microsoft的 PDF或 XPS加载项” 进入到下载页面

3、点击 第一个选项会跳转到网页地址,直接提供该链接:http://r.office.microsoft.com/r/rlidMSAddinPDFXPS

4、下载第一个就是我们需要的插件了,下载好后直接安装,为了不产生不必要的问题,请使用默认安装路径

5、安装好以后再次转换PDF操作就是下面的样子,就代表插件安装成功了

四、环境设置好了,我们需要 程序执行用到的资源(提示:把下面的资源文件放到工程库中,和jar包在一起就OK)
1、用到的jar包:jacob-1.18.jar
2、通过java程序调用windows应用的库文件
jacob.dll
3、把下面的文件放到 C:\Windows\System32 文件中,根据电脑的架构放一个文件就OK,为了保险我把两个都放进去了,哈哈
jacob-1.18-M2-x64.dll
jacob-1.18-M2-x86.dll
五、文件处理好了,可以执行自己的转换程序了,但是在执行过程中又遇到问题:com.jacob.com.ComFailException: VariantChangeType failed
六、下面说一下这个问题的解决办法:(来源:http://blog.csdn.net/toubennuhai/article/details/53055431)
第一步:
Windows Vista/2008改变了COM对象默认的交互方式为“非交互”型的。Console启动本身支持应用交互,但service模式下就不行了。所以需要修改word DCOM默认的标识,改为“交互式用户”模式,即可正常调用了。
按照以下步骤修改后再测service模式下试转Word即可成功:
1) 运行命令: mmc comexp.msc -32
2) 找到:组件服务>计算机>我的电脑>DCOM组件>Microsoft Word 97-2003 文档;
3) 右键点击,选择属性,修改标识为“交互式用户”,点击“确定”;
第二步:
创建一个 Desktop 文件夹,创建好之后的路径如下(我一直在疑惑为什么要创建这样一个文件夹,没搞明白,如果有清楚的伙伴欢迎留言,大家共同探讨)
C:\Windows\System32\config\systemprofile\Desktop
至此所有的问题解决完了
在windows系统上word转pdf的更多相关文章
- windows系统上安装与使用Android NDK r5 (转)
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- spm完成dmp在windows系统上导入详细过程
--查询dmp字符集 cat spmprd_20151030.dmp ','xxxx')) from dual; spm完成dmp在windows系统上导入详细过程 create tablespace ...
- 快速获取Windows系统上的国家和地区信息
Windows系统上包含了200多个国家和地区的数据,有时候编程需要这些资料.以下代码可以帮助你快速获取这些信息.将Console语句注释掉,可以更快的完成分析. static void Main(s ...
- Windows系统上如何使用SSH
Windows系统上如何使用SSH 传统的网络服务程序如FTP.Telnet等,在网络上一般使用明文传送数据.用户账号和口令信息,容易受到中间人的攻击.用户利用SSH协议后能有效防止DNS及IP欺骗, ...
- 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据
http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...
- Redis进阶实践之三如何在Windows系统上安装安装Redis
一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...
- 非Unicode编码的软件如何在Windows系统上运行
我们常常会遇到这样一种情况:点开某些日文软件(我不会说就是galgame( ╯□╰ ))会出现乱码或者直接无法运行. 出现乱码的原因很简单:编码与译码的方式不一致!!!!!!!!!!! 首先大家需要知 ...
- 在windows系统上使用pip命令安装python的第三方库
在windows系统上使用pip命令安装python的第三方库 通过cmd启动命令行后,直接输入pip命令,有时候命令行会提示我们pip不是一个指令,这个时候我们可以通过python的集成开发环境里面 ...
- 在Windows系统上一批可以下载但是需要经过编译再安装的第三方的直接编译后的版本(UCI页面)
在Windows系统上一批可以下载但是需要经过编译再安装的第三方的直接编译后的版本(UCI页面) (https://www.lfd.uci.edu/~gohlke/pythonlibs/) win10 ...
随机推荐
- 解决boostrap-table有水平和垂直滚动条时,滚动条滑到最右边表格标题和内容单元格无法对齐的问题
问题:boostrap-table有水平和垂直滚动条时,滚动条不高的时候(滚动高度比较大的时候没有问题),滚动条滑到最右边表格标题和内容单元格无法对齐的问题 问题原因:bootstrap-table源 ...
- 3. 与服务器对话:理解 HTTP 协议
0.服务器与本地交换机制 2.详解HTtp服务 (1)与服务器对话的流程 (2)Reque 请求 (3)Response 响应 200 成功 404 没有网页 (4)Get/Post区别 get查询数 ...
- P1418 选点问题(黑白染色)
P1418 选点问题 题目描述 给出n个点,m条边,每个点能控制与其相连的所有的边,要求选出一些点,使得这些点能控制所有的边,并且点数最少.同时,任意一条边不能被两个点控制 输入输出格式 输入格式: ...
- 公布一些常用的WebServices
天气预报Web服务,数据来源于中国气象局 Endpoint Disco WSDL IP地址来源搜索 WEB 服务(是目前最完整的IP地址数据) Endpoint Disco WSD ...
- VHDL语法入门学习第一篇
1. 现在先遇到一个VHDL的语法问题,以前没用过VHDL,现在要去研究下,进程(PROCESS) 进程内部经常使用IF,WAIT,CASE或LOOP语句.PROCESS具有敏感信号列表(sensit ...
- linux下创建用户 费元星站长
linux下创建用户(一) Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系 ...
- CentOS 6.0 VNC远程桌面配置[转]
原文出处: http://blog.haohtml.com/archives/12281 谢谢作者. 引言:必须明白:vncserver在调用的时候,会根据你的配置来启用server端的监听端口,端口 ...
- 为什么rows这么大,在mysql explain中---写在去acumg听讲座的前一夜
这周五下班前,发现了一个奇怪问题,大概是这个背景 一张表,结构为 Create Table: CREATE TABLE `out_table` ( `id` ) NOT NULL AUTO_INCRE ...
- 《Cracking the Coding Interview》——第3章:栈和队列——题目6
2014-03-19 03:01 题目:给定一个栈,设计一个算法,在只使用栈操作的情况下将其排序.你可以额外用一个栈.排序完成后,最大元素在栈顶. 解法:我在草稿纸上试了试{1,4,2,3}之类的小例 ...
- phpStorm9.0 +xampp+chrome php调试环境配置!
不多说,直接上step by step: 1.xampp配置 看看我的XAMPP版本: 修改配置文件,该打开打开,该加上加上,结果如下(当前需要重新启动apache,配置才会生效): [XDebug] ...