背景

新年初始,万物复苏,正月未过,给大家拜个晚年了!
一个小功能,分享一下。

准备

首先下载文件
链接: https://pan.baidu.com/s/1xvZYc13QVl1OtvFZ13gyDQ .
提取码: gkrc

我这里用的是Aspose的jar包,因为它是收费的所以不交钱会有水印,需要自己破解一下。破解用到的文件就是下载中的xml文件。

实现

将文件放到下图所示文件。

package com.demo.demo.controller;import com.aspose.cells.License;
import com.aspose.cells.PdfSaveOptions;
import com.aspose.cells.Workbook;import java.io.FileOutputStream;
import java.io.InputStream;/*** @ClassName ExcelToPdfUtil* 功能详细描述:* @Author GuoZiYue* @Date 2021/2/18 11:08* @Version 1.0*/
public class ExcelToPdfUtil {/*** excel 转为pdf 输出。** @param sourceFilePath  excel文件* @param desFilePathd  pad 输出文件目录*/public static void excel2pdf(String sourceFilePath, String desFilePathd ){if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生return;}try {Workbook wb = new Workbook(sourceFilePath);// 原始excel路径FileOutputStream fileOS = new FileOutputStream(desFilePathd);PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();pdfSaveOptions.setOnePagePerSheet(true);int sheetCount = wb.getWorksheets().getCount();int[] showSheets=new int[sheetCount];for (int i = 0; i < sheetCount; i++) {showSheets[i]=i;}//隐藏workbook中不需要的sheet页。autoDraw(wb,showSheets);printSheetPage(wb,showSheets);wb.save(fileOS, pdfSaveOptions);fileOS.flush();fileOS.close();System.out.println("完毕");} catch (Exception e) {e.printStackTrace();}}public static boolean getLicense() {boolean result = false;try {InputStream is = FileController.class.getClassLoader().getResourceAsStream("\\templates\\license.xml");License aposeLic = new License();aposeLic.setLicense(is);result = true;} catch (Exception e) {e.printStackTrace();}return result;}/*** 设置打印的sheet 自动拉伸比例* @param wb* @param page 自动拉伸的页的sheet数组*/public static void autoDraw(Workbook wb,int[] page){if(null!=page&&page.length>0){for (int i = 0; i < page.length; i++) {wb.getWorksheets().get(i).getHorizontalPageBreaks().clear();wb.getWorksheets().get(i).getVerticalPageBreaks().clear();}}}/*** 隐藏workbook中不需要的sheet页。* @param wb* @param page 显示页的sheet数组*/public static void printSheetPage(Workbook wb,int[] page){for (int i= 1; i < wb.getWorksheets().getCount(); i++)  {wb.getWorksheets().get(i).setVisible(false);}if(null==page||page.length==0){wb.getWorksheets().get(0).setVisible(true);}else{for (int i = 0; i < page.length; i++) {wb.getWorksheets().get(i).setVisible(true);}}}
}

它支持多sheet转pdf,每个sheet分为一页。

调用

public static void main(String[] args) {String sourceFilePath="C:/excel2pdf/aa.xlsx";String desFilePath="d:/rest222.pdf";ExcelToPdfUtil.excel2pdf(sourceFilePath,desFilePath);}

直接调方法就行。

JAVA:Excel文档转无水印PDF文档相关推荐

  1. java加密解密 pdf_Java 加密和解密PDF文档

    前言 在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密.同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档.本文将通过Java程序来演示如何对PDF文档进行加密和解 ...

  2. 月结流程概述(加作者微信索取无水印PDF完整版)

    http://blog.sina.com.cn/s/blog_eb52f4660102wl7c.html 1.1    月结流程概述(加作者微信索取无水印PDF完整版) 下表为典型的制造业期末财务结算 ...

  3. Java使用PDFBox开发包实现对PDF文档内容编辑与保存

    pdfbox开发包下载地址:http://pdfbox.apache.org/ 程序实现了PDF文档的创建,读入,与修改PDF内容并保存. 可能有个前提,PDF文档不是加密的,如果加密怎么办,我没研究 ...

  4. php生成pdf水印,使用 PHP 在 PDF 文档中加水印并进行文档加密

    前言 在使用 PHP 在 PDF 文件上打水印的过程中,我尝试了如下几个工具: 因为想满足对中文水印的支持,并对 PDF 文档进行加密,最终使用 FPDI + TCPDF 的方案完成功能. 正文 打水 ...

  5. 文档已无水印,苹果手机看word有水印

    去除word文档中的水印,安卓手机看不见,但苹果手机依旧显示水印,这个怎么解决?重新复制粘贴还是一样 页眉,编辑页眉,首页不同点了看一遍文章看有没有水印,奇偶页不同点了看一遍文章有没有水印,有全删了就 ...

  6. c语言调用pdf文档,使用PDFLib生成PDF文档方法介绍(C语言版)

    本文简单介绍了PDFLib生成PDF文档(C语言版)的基本使用方法. 1.基本环境 ① 打开.关闭.文档信息设定: 新建PDFLib对象,PDF_new() 设定错误处理的方式,PDF_set_par ...

  7. php操作pdf文档输出,PHP生成PDF文档实用技巧

    PHP生成PDF文档实用技巧 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快速 ...

  8. java html 生成 pdf_Java实现HTML代码生成PDF文档

    1.IText实现html2pdf,速度快,纠错能力差,支持中文(要求HTML使用unicode编码),但中支持一种中文字体,开源. 2.Flying Sauser实现html2pdf,纠错能力差,支 ...

  9. java实现从url路径中下载pdf文档到本地

    import java.io.*; import java.net.*;public class DownloadPdf {/*** 从网络Url中下载文件* @param urlStr pdf网页的 ...

最新文章

  1. android中xml文件的生成与读取(Pull)
  2. 如何存储Session
  3. 百度地图与HT for Web结合的GIS网络拓扑应用
  4. REST技术第四步 多个參数注解问题
  5. POJ_1062_(dijkstra)
  6. Bash脚本教程之算数运算
  7. 32位单精度浮点乘法器的FPGA实现
  8. python arcgis批量绘图_ARCGIS中Python实现批量裁剪
  9. IE 6 特有的条件注释详情
  10. 点击锚点链接时页面滚动的特效(Javascript Smooth Scroll)
  11. Java并发编程之volatile变量
  12. 代理模式 委派模式 策略模式_委派模式和策略模式
  13. 【算法与数据结构】二叉堆和优先队列 Priority Queue
  14. canvas设置渐变
  15. 【设计师配色宝典!教你从零开始学配色】转
  16. 中国农业大学计算机考研拟录取名单,2019中国农业大学硕士考研研究生拟录取名单...
  17. 短线交易秘诀(原书第2版)
  18. 64位W7系统安装内存8G,但是系统只显示3.2G,是怎么回事?
  19. linux fuser主机关闭,linux 下强制umount+Fuser命令详解
  20. 高通王翔:每年收入20%投入研发

热门文章

  1. Android 华为荣耀8 logcat不打印问题解决
  2. 南方电网、国网电费充值接口源码
  3. JSON Crack:一款超高颜值的 JSON 数据可视化工具
  4. 人工智能项目实战-使用OMR完成答题卡识别判卷
  5. java5.面向对象编程(中)练习题
  6. AUTOSAR从入门到精通-【应用篇】基于 AUTOSAR 标准的 CAN 通信栈设计与实现
  7. (转)程序员和美工的配合问题
  8. 女人永远不知道的12件事——看后有点感动!
  9. 禁止手机端点击input框跳出输入法
  10. 程序员薪资被应届生倒挂7K,不把老员工当人?