派大星星 发表于 2019-7-29 15:23

Excel转PDF jar包以及完整工具类代码分享

本帖最后由 派大星星 于 2019-7-29 15:25 编辑

直接上工具类代码有需要,可直接下载使用
package io.base.common.utils;

import com.aspose.cells.License;
import com.aspose.cells.Workbook;

import java.io.*;


/**
* Word或Excel 转Pdf 帮助类
* 备注:需要引入 aspose-cells-8.5.2.jar
*/
public class PdfUtil {

    private static boolean getLicense() {
      boolean result = false;
      try {
            InputStream is = PdfUtil.class.getClassLoader().getResourceAsStream("license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下
            License aposeLic = new License();
            aposeLic.setLicense(is);
            result = true;
      } catch (Exception e) {
            e.printStackTrace();
      }
      return result;
    }


    /**
   * @Param excelPath 需要被转换的excel全路径带文件名
   * @param pdfPath 转换之后pdf的全路径带文件名
   */
    public static void excel2pdf(String excelPath, String pdfPath) {
      if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
            return;
      }
      try {
            long old = System.currentTimeMillis();
            Workbook wb = new Workbook(excelPath);// 原始excel路径
            FileOutputStream fileOS = new FileOutputStream(new File(pdfPath));
            wb.save(fileOS, com.aspose.cells.SaveFormat.PDF);
            fileOS.close();
            long now = System.currentTimeMillis();
            System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒"); //转化用时
      } catch (Exception e) {
            e.printStackTrace();
      }
    }


}

文件下载:
PdfUtil.java :https://pan.baidu.com/s/1m-rYLQlHYkfTMfjOrgch9Q
提取码:r5ce
aspose-cells-8.5.2.jar:https://pan.baidu.com/s/1jdFzMg9OSJpsctL3xdzJCw
提取码:o6sj
License.xml:https://pan.baidu.com/s/1hRF98c9UmzC25caMaQZJMQ
提取码:cgc0

zuohaoda 发表于 2019-8-14 09:57

要是有Excel转PDF并加水印就好了

hello_007 发表于 2020-4-15 18:37

要是有Excel转PDF并加水印就好了

masihong 发表于 2020-6-14 10:32

不懂编程的我,这么好的东西,都不知怎么用

justakiss 发表于 2020-7-8 14:39

试了一下,转换比oppenoffice好用,但是能自己设置pdf文档宽度吗,因为excel页面太大导致出现折行了
页: [1]
查看完整版本: Excel转PDF jar包以及完整工具类代码分享