Aspose.PDF for Java系列6-转化PDF文档为Excel

news/2024/7/20 20:55:04 标签: java, pdf, excel

Aspose.PDF for Java系列6-转化PDF文档为Excel

Aspose.PDF for Java API允许您将PDF文件呈现为Excel XLS和XLSX文件格式

转化为Excel XLS

Aspose.PDF for Java提供了ExcelSaveOptions类来将PDF转化为XLS格式。将ExcelSaveOptions对象传递给Dodument.save()方法的第二个参数即可。

具体代码如下:

java">package com.aspose.pdf.examples;

import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;

import com.aspose.pdf.*;

public final class ConvertPDFtoXLSX {

    private ConvertPDFtoXLSX() {

    }

    // The path to the documents directory.
    private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");

    public static void main(String[] args) throws IOException {

        ConvertPDFtoExcelSimple();
        ConvertPDFtoExcelAdvanced_InsertBlankColumnAtFirst();
        ConvertPDFtoExcelAdvanced_MinimizeTheNumberOfWorksheets();
        ConvertPDFtoExcelAdvanced_SaveXLSX();
    }

    public static void ConvertPDFtoExcelSimple() {
        // Load PDF document
        Document pdfDocument = new Document(_dataDir + "input.pdf");

        // Instantiate ExcelSave Option object
        ExcelSaveOptions excelsave = new ExcelSaveOptions();

        // Save the output in XLS format
        pdfDocument.save("PDFToXLS_out.xls", excelsave);
    }
}

转化为Excel XLS(控制列)

将PDF转化为XLS格式时,会输出第一列为空白列。ExcelSaveOptions类中的InsertBlankColumnAtFirst选项用于控制该列,默认值是true。

具体代码参考如下:

java">    public static void ConvertPDFtoExcelAdvanced_InsertBlankColumnAtFirst() {
        // Load PDF document
        Document pdfDocument = new Document(_dataDir + "input.pdf");
        // Instantiate ExcelSave Option object
        ExcelSaveOptions excelsave = new ExcelSaveOptions();
        excelsave.setInsertBlankColumnAtFirst(false);
        // Save the output in XLS format
        pdfDocument.save("PDFToXLS_out.xls", excelsave);
    }

转化PDF到单个Excel WorkSheet

将PDF转化为XLS时,PDF的每一页会被转化成Excel不同的WorkSheet。原因是MinimizeTheNumberOfWorksheets属性设置的默认值是false。如果转化时要转化为单个WorkSheet,需要设置
MinimizeTheNumberOfWorksheets为true。

具体代码参考如下:

java">    public static void ConvertPDFtoExcelAdvanced_MinimizeTheNumberOfWorksheets() {
        // Load PDF document
        Document pdfDocument = new Document(_dataDir + "input.pdf");

        // Instantiate ExcelSave Option object
        ExcelSaveOptions excelsave = new ExcelSaveOptions();
        excelsave.setMinimizeTheNumberOfWorksheets(true);

        // Save the output in XLS format
        pdfDocument.save("PDFToXLS_out.xls", excelsave);
    }

转化为Excel XLSX

Aspose.PDF默认使用的Excel 2003格式存储数据。如果需要将PDF转化为XLSX格式,Aspose.PDF有一个ExcelSaveOptions的类。需要做XLSX格式的设置。

具体代码参考如下:

java">    public static void ConvertPDFtoExcelAdvanced_SaveXLSX() {
        // Load PDF document
        Document pdfDocument = new Document(_dataDir + "input.pdf");

        // Instantiate ExcelSave Option object
        ExcelSaveOptions excelSave = new ExcelSaveOptions();
        excelSave.setFormat(ExcelSaveOptions.ExcelFormat.XLSX);

        // Save the output in XLS format
        pdfDocument.save("PDFToXLS_out.xlsx", excelSave);
    }

http://www.niftyadmin.cn/n/23926.html

相关文章

回顾2022年,展望2023年

这里写目录标题回顾2022年博客之星你参加了吗?学习方面写博客方面在涨粉丝方面展望2023回顾2022年 时间如梭,转眼间已经2023年了。 你开始做总结了吗? 博客之星你参加了吗? 这是 2022 博客之星 的竞选帖子, 请你在这…

【C++进阶】IO流

🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…

【大小端问题】

什么是大小端? 为什么存在大小端?如何判断计算机的大小端存储模式? 大小端是什么? 计算机在内存存储中有两中存储模式: 大端字节序存储模式和小端字节序存储模式。 大端存储模式,是指数据的低位保存在内…

计算机网络知识解析

本篇文章主要讲的是计算机网络相关的内容,需要有一定的计算机网络的基础知识才能汲取更多的知识。当然没基础也可以看懂,会对计算机网络有一个基础的理解。在这一篇介绍中,我尽可能的覆盖一些面试中的问题,通过本篇文章&#xff0…

【node.js】npm包管理工具的使用

🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:node.jsx中npm包管理工具的基础使用,包与依赖关系的介绍 下图为本文的核心 目…

GitLab安装使用(SSH+Docker两种方式)

GitLab安装使用1、在ssh下安装gitlab1.1 安装依赖1.2 配置镜像1.3 开始安装1.4 gitlab常用命令2、在docker下安装gitlab2.1 安装docker2.1.1 更新yum源2.1.2 安装依赖2.1.3 添加镜像2.1.4 查看源中可用版本2.1.5 安装指定版本2.1.6 配置开机启动项2.2 使用容器安装gitlab2.2.1 …

算法复杂度分析

目录 一、计算资源 1、第十三届蓝桥杯 Python 组题目的时空限制汇总 2、Python 与 C/C 、Java 的限制对比 3、时间和空间限制 4、测量代码的运行时间 二、算法定义 1、计算复杂度 2、有哪些复杂度 三、算法评估 1、分类 2、易解问题——难解问题:用多项…

Java一些安全编码标准(第二版)

一、不要在断言中使用有副作用的表达式 使用 assert 断言语句是一个方便的机制,可以用来在代码中加人诊断测试。使用标准断言语句的表达式必须避免副作用。通常,这种 assert 断言语句的行为依赖于运行属性的状态。当开启时,assert 语句会用来…