Libreoffice实现Word、Excel在线预览

打印 上一主题 下一主题

主题 1058|帖子 1058|积分 3174

Libreoffice下载地址

https://zh-cn.libreoffice.org/download/libreoffice/

依靠

  1.   <!--jodconverter 核心包 -->
  2.         <dependency>
  3.             <groupId>org.jodconverter</groupId>
  4.             <artifactId>jodconverter-core</artifactId>
  5.             <version>4.4.6</version>
  6.         </dependency>
  7.         <!--springboot支持包,里面包括了自动配置类 -->
  8.         <dependency>
  9.             <groupId>org.jodconverter</groupId>
  10.             <artifactId>jodconverter-spring-boot-starter</artifactId>
  11.             <version>4.4.6</version>
  12.         </dependency>
  13.         <!--jodconverter 本地支持包 -->
  14.         <dependency>
  15.             <groupId>org.jodconverter</groupId>
  16.             <artifactId>jodconverter-local-lo</artifactId>
  17.             <version>4.4.6</version>
  18.         </dependency>
复制代码
代码

  1. package com.dxy.util.excel;
  2. import java.io.File;
  3. import org.jodconverter.core.office.OfficeException;
  4. import org.jodconverter.local.JodConverter;
  5. import org.jodconverter.local.office.LocalOfficeManager;
  6. public class JodConverterDemo {
  7.   public static void main(String[] args) throws OfficeException {
  8.     // 获取LibreOffice服务实例
  9.     LocalOfficeManager instance = getInstance();
  10.     try {
  11.       // 启动服务, 注意:如果是Spring boot项目,只需要在项目启动时 start 一次即可
  12.       instance.start();
  13.       // docx 转 pdf
  14.       File srcFile1 = new File("D:\\test1.docx");
  15.       File targetFile1 = new File("D:\\test1.pdf");
  16.       JodConverter.convert(srcFile1).to(targetFile1).execute();
  17.       // ppt 转 pdf
  18.       File srcFile2 = new File("D:\\test2.ppt");
  19.       File targetFile2 = new File("D:\\test2.pdf");
  20.       JodConverter.convert(srcFile2).to(targetFile2).execute();
  21.       // excel 转 html, excel 转 pdf 效果不好
  22.       File srcFile3 = new File("E:\\tmp\\user2.xlsx");
  23.       File targetFile3 = new File("E:\\tmp\\user2.html");
  24.       JodConverter.convert(srcFile3).to(targetFile3).execute();
  25.     } finally {
  26.       // 停止服务,demo中需要手动停止LibreOffice服务,不然项目无法退出,只能手动杀掉LibreOffice进程
  27.       instance.stop();
  28.     }
  29.   }
  30.   public static LocalOfficeManager getInstance() {
  31.     LocalOfficeManager.Builder builder = LocalOfficeManager.builder().install();
  32.     // 此处是 LibreOffice 的目录
  33.     builder.officeHome("C:\\Program Files\\LibreOffice");
  34.     // 指定 LibreOffice 服务的端口号,若要启动多个服务,则填写多个端口号
  35.     builder.portNumbers(2000);
  36.     // 转换超时时间
  37.     builder.taskExecutionTimeout(60L * 1000);
  38.     // 队列超时时间
  39.     builder.taskQueueTimeout(1000 * 60 * 60L); // 1小时
  40.     return builder.build();
  41.   }
  42. }
复制代码
参考文章

https://blog.csdn.net/qq_33256826/article/details/136497411
https://blog.csdn.net/wolf_you/article/details/129858438

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表