使用Aspose技术将Excel转换为PDF

简介:本文将介绍如何使用Aspose技术将Excel文件转换为PDF格式。我们将使用Aspose-Cells-8.5.2.jar包,并演示Java代码以及进行测试。

一、Aspose技术概述

Aspose是一款强大的文档处理库,支持多种编程语言,如JavaC#Python等。它提供了丰富的功能,可以轻松地实现各种文档格式之间的转换,包括WordExcelPowerPointPDF等。在本文中,我们将重点关注如何利用Aspose技术将Excel文件转换为PDF格式。

二、准备环境

要使用Aspose技术,首先需要下载并安装Aspose-Cells-8.5.2.jar包。您可以从Aspose官方网站免费下载这个库。也可以听过下面的maven坐标引入对应的依赖信息。

<dependency><groupId>com.aspose</groupId><artifactId>aspose-cells</artifactId><version>8.2.1</version>
</dependency>

注意:使用前,然后把excel-license.xml放在resources目录下,xml代码如下所示:

<License><Data><Products><Product>Aspose.Total for Java</Product><Product>Aspose.Words for Java</Product></Products><EditionType>Enterprise</EditionType><SubscriptionExpiry>20991231</SubscriptionExpiry><LicenseExpiry>20991231</LicenseExpiry><SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber></Data><Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
</License>

三、代码示例

接下来,我们将编写一个简单的Java程序,用于将Excel文件转换为PDF文件。以下是完整的Java代码示例:

3.1 PdfUtil工具类
public class PdfUtil {/*** excel 转 pdf** @param excelFilePath excel文件路径*/public static void excel2pdf(String excelFilePath) {excel2pdf(excelFilePath, null, null);}/*** excel 转 pdf** @param excelFilePath excel文件路径* @param convertSheets 需要转换的sheet*/public static void excel2pdf(String excelFilePath, int[] convertSheets) {excel2pdf(excelFilePath, null, convertSheets);}/*** excel 转 pdf** @param excelFilePath excel文件路径* @param pdfFilePath   pdf文件路径*/public static void excel2pdf(String excelFilePath, String pdfFilePath) {excel2pdf(excelFilePath, pdfFilePath, null);}/*** excel 转 pdf** @param excelFilePath excel文件路径* @param pdfFilePath   pdf文件路径* @param convertSheets 需要转换的sheet*/public static void excel2pdf(String excelFilePath, String pdfFilePath, int[] convertSheets) {try {pdfFilePath = pdfFilePath == null ? getPdfFilePath(excelFilePath) : pdfFilePath;// 验证 LicensegetLicense();Workbook wb = new Workbook(excelFilePath);FileOutputStream fileOS = new FileOutputStream(pdfFilePath);PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();pdfSaveOptions.setOnePagePerSheet(true);if (null != convertSheets) {printSheetPage(wb, convertSheets);}wb.save(fileOS, pdfSaveOptions);fileOS.flush();fileOS.close();System.out.println("convert success");} catch (Exception e) {System.out.println("convert failed");e.printStackTrace();}}/*** 获取 生成的 pdf 文件路径,默认与源文件同一目录** @param excelFilePath excel文件* @return 生成的 pdf 文件*/private static String getPdfFilePath(String excelFilePath) {return excelFilePath.split(".")[0] + ".pdf";}/*** 获取 license 去除水印* 若不验证则转化出的pdf文档会有水印产生*/private static void getLicense() {String licenseFilePath = "excel-license.xml";try {InputStream is = PdfUtil.class.getClassLoader().getResourceAsStream(licenseFilePath);License license = new License();license.setLicense(is);} catch (Exception e) {System.out.println("license verify failed");e.printStackTrace();}}/*** 隐藏workbook中不需要的sheet页。** @param sheets 显示页的sheet数组*/private static void printSheetPage(Workbook wb, int[] sheets) {for (int i = 1; i < wb.getWorksheets().getCount(); i++) {wb.getWorksheets().get(i).setVisible(false);}if (null == sheets || sheets.length == 0) {wb.getWorksheets().get(0).setVisible(true);} else {for (int i = 0; i < sheets.length; i++) {wb.getWorksheets().get(i).setVisible(true);}}}
}
3.2 测试

在我们的resources文件夹下新建一个test文件夹,文件夹放入咱的excel文件

public class TestExcel2Pdf {public static void main(String[] args) {String srcFilePath = "/test/excel数据.xlsx";PdfUtil.excel2pdf(srcFilePath);}
}

测试结果:
在这里插入图片描述
转换成对应的PDF,几乎一模一样,如下图所示:
在这里插入图片描述

四、总结

通过本文的介绍,您应该已经了解了如何使用Aspose技术将Excel文件转换为PDF格式。本文只是讲解了使用Apose技术进行转换成PDF,其实该技术能够做的事情还有很多,可以轻松地实现各种文档格式之间的转换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/23981.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssh 樹梅派RaspberryPi eMMC版本

安裝rpi 2204的desktop版本&#xff0c;在boot根目錄添加一個ssh的文件&#xff0c;不知道爲什麼還是不能ssh 參考以下博客的方法後可以ssh了 https://idminer.gitbook.io/robotis/part-1-turtlebot3/24.-faq/24.1.-ru-he-zai-raspberry-pi-shu-mei-pai-qi-dong-ssh-server …

工程力学 - 课程导论

工程力学是工程学科中的核心基础课程&#xff0c;专注于研究物体在外力作用下的运动规律和受力情况。它涵盖了静力学、运动学、动力学和材料力学等关键领域&#xff0c;为工程结构的安全性、稳定性和功能性提供理论支撑。通过理论分析、实验测定和计算机模拟等方法&#xff0c;…

node.js安装包

安装地址&#xff1a;Node.js — Run JavaScript Everywhere 链接&#xff1a;https://pan.baidu.com/s/1c7gCEt46HA0yt-EZeu5iFA 提取码&#xff1a;yfbq

【GlobalMapper精品教程】084:tif(tfw)、jpg(jgw)、png(pgw)的区别与联系

文章目录 一、tif(tfw)、jpg(jgw)、png(pgw)简介二、tif(tfw)、jpg(jgw)、png(pgw)生成1. ArcGIS中生成2. Globalmapper中生成一、tif(tfw)、jpg(jgw)、png(pgw)简介 tif(tfw)、jpg(jgw)、png(pgw)文件原理相同,以tfw为例来说明。 TFW(TIFF World File)…

MyEclipse新手使用介绍

目录 1.MyEclipse诞生背景 2.作用 3.版本历史 4.优缺点 5.应用场景 6.如何使用 6.1.下载与安装 6.2.MyEclipse 菜单及其菜单项 7.创建和发布一个 Java 程序 7.1.创建 Java 程序 7.2.发布 Java 程序 8.示例 8.1. Hello World 示例 8.2. 简单Spring Boot 应用 8.3…

SpringBoot实现发送邮件功能

目录 一、开启邮件服务 二、导入pom依赖 三、配置yml文件 四、发送邮件 4.1、发送文字邮件 4.2、发送html邮件 4.3、发送附件邮件 4.4、发送图片邮件 一、开启邮件服务 这里拿QQ邮箱举例。 翻到下面进行开启,之后获取授权码。 二、导入pom依赖 <dependency><…

问题:明朝统辖西域的主要措施有( )(2.0分) (多选题) #学习方法#微信#经验分享

问题&#xff1a;明朝统辖西域的主要措施有( )(2.0分) (多选题) A.设立哈密卫 B.册封各地的首领 C.都护统领 D.布局要地 参考答案如图所示

any和unknown有何区别

在TypeScript&#xff08;TS&#xff09;中&#xff0c;any和unknown都是用来表示类型的一种方式&#xff0c;但它们在类型安全性和使用场景上有着显著的区别。以下是关于any和unknown的详细区别&#xff1a; 类型安全性&#xff1a; any类型&#xff1a;它表示任何类型&#…

为什么说国产大模型的野心,都藏在 MaaS 的生态中

2016 年 4 月&#xff0c;在一场由 IDG 主办的行业峰会上。 IDG 创始董事长熊晓鸽&#xff0c;刚刚盘点完 IDG 深耕中国企业服务多年的成果&#xff0c;台下&#xff0c;GE 中国公司 CEO 便发出了不合时宜的灵魂一问&#xff1a; 「中国有很多伟大的公司&#xff0c;也有很多…

深度评价GPT-4o:探索人工智能的新里程碑

在人工智能领域&#xff0c;OpenAI的GPT系列自推出以来就备受瞩目。GPT-4o作为该系列的最新版本&#xff0c;无疑是迄今为止最为强大的一代。它不仅在技术性能上有了质的飞跃&#xff0c;而且在应用的广泛性和深度上都展现出了惊人的潜力。本文将从版本对比、技术能力、使用体验…

用大模型实现PPT可视化几种思路

https://zhuanlan.zhihu.com/p/700685802 背景 前面一篇文章已经介绍了如何根据用户输入&#xff0c;用大模型实现内容检索、分析、脑图可视化的链路。然而往往投研团队需要针对重要新闻做组内分析解读&#xff0c;需要用ppt的方式来展现&#xff1b;那么优美可能让大模型直…

java 通过接口下载excel并转实体类工具类

java 通过接口下载excel并转实体类工具类 依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version></dependency>工具类 import com.alibaba.excel.EasyExcel; import …

161-配置nginx正向代理

为了允许所有请求通过Nginx的正向代理&#xff0c;您需要确保Nginx配置正确&#xff0c;并且能够处理各种请求。您的配置中需要一些调整以确保Nginx能够正确解析请求并代理它们。 以下是调整后的Nginx配置示例&#xff1a; Nginx 配置示例 server {listen 8888;server_name …

[office] 如何才能用EXCEL打开dat文件- #微信#学习方法

如何才能用EXCEL打开dat文件? 方法&#xff1a; 1、打开EXCEL软件&#xff1b; 2、文件&#xff0c;打开&#xff0c;选择要转化的DAT文件&#xff1b; 3、在弹出的向导文件&#xff08;步骤1&#xff09;中&#xff0c;选择合适的文件类型&#xff08;按预览选择&#xf…

shell:dd命令使用详解

1、介绍 dd命令是一款在Unix和类Unix系统中常用的命令行工具&#xff0c;用于转换和复制文件或块设备。 用指定大小的块拷贝一个文件&#xff0c;并在拷贝的同时进行指定的转换。 该命令提供了很多的参数选项&#xff0c;使用户可以根据需要执行各种复制或转换操作。下面详细…

充电桩,未来出行的绿色引擎

随着新能源时代的到来&#xff0c;充电桩早已不再是一个陌生的词汇&#xff0c;它正在成为我们生活中不可或缺的一部分。 它不仅仅是一个简单的充电设备&#xff0c;更是未来出行的绿色引擎&#xff0c;驱动着我们的汽车&#xff0c;也驱动着这个时代的绿色梦想。 想象一下&am…

leetcode 9 回文数

给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&#xff0c;121 是回文&#xff0c;而…

人工智能术语

1、人工智能的概念 人工智能概念&#xff0c;在1956年召开的达特茅斯会议上正式被提出。该会议是由信息学鼻祖克劳德.艾尔伍德.香农(ClaudeElwoodShannon)以及马文.明斯基(Marvin Minsky)、约翰.麦卡锡(JohnMcCarthy)等十位信息学、数学、计算机学的科学先驱&#xff0c;在美国…

智谱AI 发布最新开源模型GLM-4-9B,通用能力超Llama-3-8B,多模态版本比肩GPT-4V

自 2023 年 3 月 14 日开源 ChatGLM-6B 以来&#xff0c;GLM 系列模型受到广泛关注和认可。特别是 ChatGLM3-6B 开源以后&#xff0c;开发者对智谱AI 第四代模型的开源充满期待。 为了使小模型&#xff08;10B 以下&#xff09;具备更加强大的能力&#xff0c;GLM 技术团队进行…

react点击复制数据

主要是用浏览器原生剪贴板 navigator.clipboard.writeText API <div onClick{()>{handleCopyKey(这是要复制的内容)}}>这是要复制的内容</div> const handleCopyKey async (item:string)>{try {await navigator.clipboard.writeText(item);message.success…