因为公司前端需要在线查看word和PDF,后台上传需求将word等文件转换为PDF,原本使用的是liboffice进行转换,后来部署到服务器端之后,发现并不是很适合,由此找到com.aspose.words。直接贴代码,大部分代码复制百度。

public class WordToPdf {
      private static final Logger logger = LoggerFactory.getLogger(WordToPdf.class);
      
    /** * 获取license * * @return */
    private static boolean getLicense() {
        boolean result = false;
        try {
            // 凭证
            String licenseStr =
                    "<License>\n"
                    + " <Data>\n"
                    + " <Products>\n"
                    + " <Product>Aspose.Total for Java</Product>\n"
                    + " <Product>Aspose.Words for Java</Product>\n"
                    + " </Products>\n"
                    + " <EditionType>Enterprise</EditionType>\n"
                    + " <SubscriptionExpiry>20991231</SubscriptionExpiry>\n"
                    + " <LicenseExpiry>20991231</LicenseExpiry>\n"
                    + " <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>\n"
                    + " </Data>\n"
                    + " <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>\n"
                    + "</License>";
            InputStream license = new ByteArrayInputStream(
                    licenseStr.getBytes("UTF-8"));
            License asposeLic = new License();
            asposeLic.setLicense(license);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
    
    /**
     * Word 转换  Pdf
     * @param inPath
     * @param outPath
     */
    public static void doc2pdf(String inPath, String outPath) {
         if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
             logger.debug("doc2pdf,解析水印失败,请重试");
                 return;
         }
        try {
            long old = System.currentTimeMillis();
            File file = new File(outPath); // 新建一个pdf文档
            FileOutputStream os = new FileOutputStream(file);
            Document doc = new Document(inPath); // Address是将要被转化的word文档
            
            logger.debug("开始解析word文档"+inPath);
            
            doc.save(os, com.aspose.words.SaveFormat.PDF);// 全面支持DOC, DOCX,
                                                            // OOXML, RTF HTML,
                                                            // OpenDocument,
                                                            // PDF, EPUB, XPS,
                                                            // SWF 相互转换
            long now = System.currentTimeMillis();
            os.close();
            
            logger.debug("转换成功,共耗时:"+((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            logger.debug("doc2pdf", new Object[] { "1082", "转换失败,请重试", MsgLevel.D });
            e.printStackTrace();
        }
    }
}

JAVA 使用 com.aspose.words将word转换PDF等相关推荐

  1. java根据word模板导出_java根据模板生成,导出word和pdf(aspose.words实现word转换pdf)...

    相关一部分java文件和jar包 pom文件 com.aspose aspose-words 18.2 word模板 其中的内容要在设置在表格里面 js导出方法 functionf_export(){ ...

  2. Java WORD转换PDF 并添加水印 (附赠jar提取链接)

    Java WORD转换PDF 并添加水印 直接上代码 实现功能 docx文档转换为PDF 转换之后排版不混乱 使用工具(Jar包) aspose-words-15.8.0-jdk16.jar(用于PD ...

  3. Java使用aopse实现word转换pdf

    Java使用aopse实现word转换pdf 需要引用aspose包,引入操作我写了一个博客,地址如下 https://blog.csdn.net/weixin_46713508/article/de ...

  4. Java使用Spire.Pdf或Aspose-Words实现Word转换Pdf在Linux服务器上的中文乱码问题

    一.问题产生的背景 当Word文档中含有中文字符时,不管是使用Spire.Pdf或Aspose-Words实现Word转换Pdf,代码的执行都需要调用操作系统的本地字体库支持,否则所有中文字符都将乱码 ...

  5. 解决 linux(centos7)word转换pdf时,pdf乱码问题

    本文解决当word转换为pdf时,pdf文档中的中文字体全部都是乱码(方框)的问题. 先简单的写一下word转换pdf的代码,这个网上有很多(最下方有引用一遍博客详细的讲解了如何转换) /**** @ ...

  6. aspose win/linux WORD转PDF(及其解决乱码方式)

    aspose win/linux WORD转PDF(及其解决乱码方式) 1.工具类 2.控制台 3.解决乱码 4.JAR包 之前自己用的docm4j 本地进行转换是ok 在服务器中就异常了: 后来在网 ...

  7. Linux系统Word转换PDF,文档字体乱码不显示问题解决。

    1.问题 在Windows系统中,使用Java将Word文档转换为PDF格式时,结果文档内容正常:但是在Linux系统中,转出来PDF文档出现乱码或###符号等. 2.问题原因 这个问题是由于Linu ...

  8. 使用Aspose组件将WORD、PDF、PPT转为图片

    using System; using System.Collections.Generic; using System.Text; using OMCS.Engine.WhiteBoard; usi ...

  9. 关于poi操作word,word转换pdf预览,这边文章就够了

    最近公司一个项目中需要导出一个简历word版,对于实习生的我开始是无从下手的,后来通过搜索发现可以使用poi来操作. 话不多说,先引入依赖 <dependency><groupId& ...

最新文章

  1. Win 10 安装detectron2 详细手册
  2. matlab的index函数,写论文第九天:MATLAB之rsindex函数
  3. scrapy详解及主要应用场景
  4. java nio 文件_Java nio 的文件处理
  5. 深入理解kestrel的应用
  6. arguments 类数组
  7. python-数据容器-有序容器与无序容器
  8. 做数仓运维,你必须要认识这个眼观六路耳听八方的“能人”
  9. Mac安装Homebrew教程
  10. 用好binutils之gporf
  11. No exception of type Exception can be thrown
  12. 看完这4个项目还不懂 数据分析,就把电脑砸了吧!
  13. 《C语言程序设计》江宝钏主编-习题5-3-动态最大值!!!
  14. U盘在电脑上不显示怎么办?
  15. 软件测试真的也干不到35岁吗?我还处在水深火热的测试岗...
  16. ZZULIOJ1025
  17. 该微信用户未开启“公众号安全助手”的消息接收功能,请先开启后再绑定
  18. google AdSense广告不显示的原因
  19. Automatic Targetless Extrinsic Calibration of a 3D Lidar 翻译
  20. 【笔记】移植ezSIFT顺手搭建个全景照片合成器

热门文章

  1. 2013计算机等级考试三级教程网络技术,全国计算机等级考试三级教程——网络技术(2013年版)...
  2. 【面试】onreadystatechange事件
  3. vnc远程桌面连接,vnc远程桌面连接快捷教程
  4. 基于EasyX的贪吃蛇游戏
  5. 图片服务器上图片的管理网站上传与前台显示
  6. android刷机后没有声音,轻松解决手机投屏后电视没声音问题
  7. 火车相撞之殇:我们能看见什么?
  8. 丈八网安王珩:带你重新认识网络靶场
  9. 企业管理软件公司Coupa Software提高IPO价格区间
  10. 如何在Ubuntu内正常使用Backspace键