利用Spire.PDF转换Excel成PDF

  在一般情况下,报表输入一般以Excel和PDF格式为主,Excel生成有很多已经相当成熟的工具,但现阶段PDF生成相对较为生硬。Spire.PDF提供了更好的解决方案,可以高效无损的将Excel转换为PDF文件。

  Spire.PDF官网地址:https://cloud.e-iceblue.cn/index.php/net-webapi-sdk-downloads。

  · Maven依赖

<dependency>
	<groupId>e-iceblue</groupId>
	<artifactId>spire.xls.free</artifactId>
	<version>2.2.0</version>
</dependency>

  由于Spire.PDF转换工具在Maven公用仓库中没有,需要额外引用仓库链接:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>

  · Excel转PDF工具类

package com.arhorchin.securitit.files.excel;

import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class ExcelToPdfUtil {

    /**
     * Excel文件转Pdf.
     * @param excelPath Excel文件路径.
     * @param pdfPath Pdf文件路径.
     * @throws Exception .
     */
    public static void excelToPdf(String excelPath, String pdfPath) throws Exception {
        // 加载Excel文档.
        Workbook wb = new Workbook();
        wb.loadFromFile(excelPath);
        // 调用方法保存为PDF格式.
        wb.saveToFile(pdfPath, FileFormat.PDF);
    }

    /**
     * Excel文件转Pdf.
     * @param excelPath Excel文件路径.
     * @param pdfPath Pdf文件路径.
     * @param sheetIndex sheet页序号.
     * @throws Exception .
     */
    public static void excelToPdf(String excelPath, String pdfPath, int sheetIndex) throws Exception {
        // 加载Excel文档.
        Workbook wb = new Workbook();
        wb.loadFromFile(excelPath);

        Worksheet sheet = wb.getWorksheets().get(sheetIndex);
        // 调用方法保存为PDF格式.
        wb.saveToFile(pdfPath, FileFormat.PDF);
    }

}

  · Excel转PDF测试类

package com.arhorchin.securitit.com.files.excel;

import com.arhorchin.securitit.files.excel.ExcelToPdfUtil;

public class ExcelToPdfUtilTester {

    public static void main(String[] args) throws Exception {
        String excelPath = "C:/Users/Administrator/Downloads/个人文件/test.xls";
        String pdfPath = "C:/Users/Administrator/Downloads/个人文件/test.pdf";
        ExcelToPdfUtil.excelToPdf(excelPath, pdfPath);

        String pdfSheetPath = "C:/Users/Administrator/Downloads/个人文件/test-sheet-1.pdf";
        ExcelToPdfUtil.excelToPdf(excelPath, pdfSheetPath, 0);
    }

}

  测试类中Excel文件如下:
在这里插入图片描述
  转换后PDF文件如下:
在这里插入图片描述
  · 总结

  · Spire.PDF提供了丰富的功能,可以实现各种类型文件的转换。

  · Spire.PDF免费版本转换的文件页数有限,单文档过多页数文件转换不能满足。

猜你喜欢

转载自blog.csdn.net/securitit/article/details/107441956
今日推荐