package com.aspose.cells;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
public class TestForExcel2PDF {
public static void main(String[] args) throws Exception {
String sourceFilePath="e:/1.xlsx";
String desFilePath="e:/1.pdf";
// addWaterMark4Excel(sourceFilePath);
excel2pdf(sourceFilePath, desFilePath);
}
public static void addWaterMark4Excel(String path) throws Exception {
FileInputStream is = new FileInputStream(path);
com.aspose.cells.Workbook workbook = new com.aspose.cells.Workbook(is);
//Get the first default sheet
Worksheet sheet = workbook.getWorksheets().get(0);
//Add Watermark
Shape wordart = sheet.getShapes().addTextEffect(
MsoPresetTextEffect.TEXT_EFFECT_11,"内部资料", "Arial Black", 50, false, true , 18, 8, 1, 1, 130, 800);
//Get the fill format of the word art
MsoFillFormat wordArtFormat = wordart.getFillFormat();
//Set the color
wordArtFormat.setForeColor(com.aspose.cells.Color.getGray());
//Set the transparency
wordArtFormat.setTransparency(0.5);
//Make the line invisible
MsoLineFormat lineFormat = wordart.getLineFormat();
lineFormat.setVisible(false);
//Save the file
workbook.save(path);
}
/**
* 获取license 去除水印
* @return
*/
public static boolean getLicense() {
boolean result = false;
try {
InputStream is = TestForExcel2PDF.class.getClassLoader().getResourceAsStream("\\license.xml");
License aposeLic = new License();
aposeLic.setLicense(is);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 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[] autoDrawSheets={3};
//当excel中对应的sheet页宽度太大时,在PDF中会拆断并分页。此处等比缩放。
// autoDraw(wb,autoDrawSheets);
int[] showSheets={0};
//隐藏workbook中不需要的sheet页。
printSheetPage(wb,showSheets);
wb.save(fileOS, pdfSaveOptions);
fileOS.flush();
fileOS.close();
System.out.println("完毕");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 设置打印的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);
}
}
}
}

love_shasha
- 粉丝: 0
- 资源: 14
最新资源
- 基于MATLAB的电力系统暂态稳定性设计与仿真:从单机无穷大系统到稳定控制策略的研究,基于MATLAB的电力系统暂态稳定性分析及其系统设计仿真工程研究报告,基于MATLAB的单机无穷大系统的暂态稳定性
- 基于扰动观测器电感辩识的电流预测控制与PMSM鲁棒性保证策略,基于扰动观测器电感辨识的电流预测控制PMSM策略-高效离散模型实现与相电压重构增强观测效果,基于扰动观测器电感辩识的电流预测控制-pms
- 基于滑模变结构观测器的永磁同步电机失磁故障容错补偿控制策略研究,基于滑模变结构观测器的永磁同步电机失磁故障容错补偿控制策略,基于失磁故障容错补偿的永磁同步电机控制【提供参考资料】 一、算法简介 基于滑
- 基于滚动轴承动力学仿真数据的可视化程序:百分百原创,详尽注释,助力多维度分布曲线图高效出图,深度解析:利用动力学仿真数据绘制的滚动轴承分布图制作技术-百分之百博主亲笔编程代码详解,根据已知的滚动轴承
- 基于Informer-channel和Bigru预测模型的华为SAMformer: 创新多输入单输出组合模型,实现泛化能力与预测精度的双重提升,华为诺亚方舟团队创新SAMformer模型:Channe
- 永磁同步电机DTC仿真研究:基于滑模控制策略的转矩控制与性能优化,永磁同步电机DTC仿真研究:基于滑模控制策略的转矩控制与性能优化,永磁同步电机SMC滑模控制转矩控制DTC仿真 1、针对直接转矩控制系
- STM32F1系列串口DMA高效率发送与接收技术:基于寄存器操作的DMA串口中断处理解决方案与移植化C/H文件详解,STM32F1系列串口DMA发送接收技术:高效处理不定长数据的方法,STM32F1系
- 基于SOM算法的数据聚类可视化系统:多特征输入、图示丰富、注释清晰、易上手的Matlab实现,基于SOM算法的数据聚类可视化系统:多特征输入、Excel数据直接替换、附赠案例数据,Matlab语言实现
- 基于LSTM神经网络的Python版回归预测系统:独家Python-Pytorch实现,递归预测未来数据,自动数据划分,多评价指标一目了然的高质量预测模型,LSTM神经网络在回归预测中的应用:基于Py
- 基于二自由度车辆半主动悬架系统的振动特性分析与建模:从悬架刚度、阻尼及轮胎刚度角度的线性特性研究,基于二自由度车辆半主动悬架系统的线性特性建模与振动分析:悬架刚度、阻尼及轮胎刚度对周期性路面激励响应的
- 基于Comsol仿真的多物理场耦合分析:热流、辐射传热、传质与结构力学综合研究,基于Comsol仿真的多物理场耦合分析:热流、辐射传热、传质与结构力学综合研究,Comsol仿真,热流、辐射传热、传质(
- 基于四元数算法的9DOF IMU姿态解算与卡尔曼滤波器实现研究,基于四元数算法的9DOF IMU姿态解算与卡尔曼滤波器技术研究-MATLAB代码适配版,64-9DOF IMU姿态解算估算-基于四元数
- MATLAB小波变换在碰磨故障信号特征提取中的应用:从原图到重构信号的完整程序解析,MATLAB小波变换在碰磨故障信号特征提取中的应用:信号原图与多层次重构信号的实践分析,2-23 基于matlab的
- 自适应控制VSG:转动惯量与阻尼系数协同自适应策略的Simulink仿真研究及改进,基于VSG虚拟同步发电机技术的自适应惯量阻尼控制策略研究及Simulink仿真复现分析,VSG同步发电机转动惯量和阻
- 交错并联Boost-PFC拓扑的Simulink仿真应用与效果分析:双闭环控制策略的实践与探索,交错并联Boost-PFC拓扑的Simulink仿真应用与效果分析:双闭环控制策略的实践与评估,交错并联
- 基于GADF-CNN-LSTM模型的齿轮箱故障诊断研究:从原始振动信号到多级分类与样本分布可视化,基于GADF-CNN-LSTM模型的齿轮箱故障诊断系统:东南大学数据集的Matlab实现与可视化分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


