zoukankan      html  css  js  c++  java
  • 在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:WindowsSystem32 文件中,根据电脑的架构放一个文件就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:WindowsSystem32configsystemprofileDesktop

    至此所有的问题解决完了

  • 相关阅读:
    matlab 绘制条状图形
    细思恐极 天价房都被谁买去了?——如何操作?
    matlab中的containers.Map()
    林彪:怎样当好一个师长?
    matlab 怎么建立结构体数组?
    matlab中patch函数的用法
    Ubuntu 安装配置MySQL,并使用VS的Server Explorer UI界面远程管理MySQL
    CLIQUE 聚类算法以及Java实现+多线程
    R 中同步进行的多组比较的包:npmc
    基于D3JS绘制中国地图
  • 原文地址:https://www.cnblogs.com/guoyinli/p/8466986.html
Copyright © 2011-2022 走看看