zoukankan      html  css  js  c++  java
  • java 实现word 转 pdf

                            java 实现word  转 pdf

    不知道网上为啥道友们写的这么复杂  ,自己看到过一篇还不错的  , 自己动手改了改 ,测试一下可以用  , 希望大家可以参考一下 , 对大家有帮助

    1.引入jar包

    (下载jar 地址亲测有效:jacob.jar)

    2.代码

     1 public static void wToPdfChange(String wordFile,String pdfFile){//wordFile word 的路径  //pdfFile pdf 的路径 
     2         
     3          ActiveXComponent app = null;
     4            System.out.println("开始转换...");
     5            // 开始时间
     6           // long start = System.currentTimeMillis();  
     7            try {
     8             // 打开word
     9             app = new ActiveXComponent("Word.Application");
    10             // 获得word中所有打开的文档
    11             Dispatch documents = app.getProperty("Documents").toDispatch();
    12             System.out.println("打开文件: " + wordFile);
    13             // 打开文档
    14             Dispatch document = Dispatch.call(documents, "Open", wordFile, false, true).toDispatch();
    15             // 如果文件存在的话,不会覆盖,会直接报错,所以我们需要判断文件是否存在
    16             File target = new File(pdfFile);  
    17              if (target.exists()) {  
    18                 target.delete();
    19              }
    20             System.out.println("另存为: " + pdfFile);
    21             Dispatch.call(document, "SaveAs", pdfFile, 17);
    22             // 关闭文档
    23             Dispatch.call(document, "Close", false);
    24            }catch(Exception e) {
    25             System.out.println("转换失败"+e.getMessage());
    26            }finally {
    27              // 关闭office
    28             app.invoke("Quit", 0);
    29            }
    30     }

    3. 测试代码

    1 public static void main(String[] args) {
    2         
    3         
    4         String word = "D:/可成品/java.docx";
    5         String name = "zhukaixin".concat(".pdf");
    6         String pdf = "D:\"+name;
    7         wToPdfChange(word, pdf);
    8     }

    4.运行代码结果

    哈哈哈   欢迎各位道友吐槽哟   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   哈哈哈

  • 相关阅读:
    WCF在tcp通道下启用httpget
    mounted里面this.$refs.xxx的内容是undefined
    小程序和vue的区别
    多维数组扁平化处理
    浏览器事件循环机制(event loop)
    前端优化总结
    vue子组件通知父组件使用方法
    axios拦截器使用方法
    vue-router配置
    斐波那契数列及青蛙跳台阶问题
  • 原文地址:https://www.cnblogs.com/zhukaixin/p/9154469.html
Copyright © 2011-2022 走看看