使用Aspose.cells截图并去除截图中水印_含资源下载链接

本文介绍如何使用aspose-cells对Excel进行截图并去除水印,包括修改License类的具体方法,以及如何从poi的workbook转换为aspose-cells的workbook。

1、因

平时将数据生成简单报表,大多数用的都Apache poi,但要是对生成的Excel进行截图保存或者发送邮件使用,这里poi暂时不能实现。
对Excel的sheet 截图 可以用aspose-cells来实现:

	public static void main(String[] args) throws Exception {
		Workbook book = new Workbook("D:\\test\\testChart.xlsx");

		ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
		ImageFormat format = ImageFormat.getJpeg();
		imgOptions.setImageFormat(format);
		
		Worksheet sheet = book.getWorksheets().get(0);
		worksheet.getPageSetup().setPrintArea("A1:N22");

		SheetRender sheetRender = new SheetRender(sheet, imgOptions);
		sheetRender.toImage(0, "D:\\test\\testChart.jpg");
	}

截图效果
截图效果可以看到红框标记处有明显的水印。

2、破

修改了License.class,去掉了截图水印。
这里仅供个人学习使用,商用的话还是要购买人家的License的。

	public static void main(String[] args) throws Exception {
        //验证License
        License.freeTrial();
        
        Workbook book = new Workbook("D:\\test\\testChart.xlsx");
        
        ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
        ImageFormat format = ImageFormat.getJpeg();
        imgOptions.setImageFormat(format);
        
        Worksheet worksheet = book.getWorksheets().get(0);
        worksheet.getPageSetup().setPrintArea("A1:N22");
        
        SheetRender sheetRender = new SheetRender(worksheet, imgOptions);
        sheetRender.toImage(0, "D:\\test\\testChart.jpg");
    }

截图效果
截图效果对比之前是没有水印的。

3、其他

关于aspose.cells的workbook和poi的workbook,可以通过xssfWorkbook的InputStream来构建一个aspose.cells的workbook。
这里是资源里缺少的部分代码,提供参考;

    //将poi xssfWorkbook截图做base64编码
	public static String convertToImageBase64(XSSFWorkbook xssfWorkbook, int sheetNo, String startPoint, String endPoint) {
		//...
		//通过xssfWorkbook的InputStream来构建一个aspose.cells的workbook。
   		Workbook workbook = new Workbook(toByteArrayResource(xssfWorkbook).getInputStream());
   		//...
   	}
   	//
	public static ByteArrayResource toByteArrayResource(XSSFWorkbook workbook) throws IOException {
        //临时缓冲区
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        //创建临时文件
        workbook.write(out);
        byte[] bookByteAry = out.toByteArray();
        InputStream in = new ByteArrayInputStream(bookByteAry);
        return new ByteArrayResource(IOUtils.toByteArray(in));
    }

4、熄灯

资源下载(5积分):aspose-cells-19.3.jar

资源包含去水印版aspose-cells-19.3-crack.jar和原版aspose-cells-19.3-jar,
还有demo使用样例,以及样例要用到的excel,(demo缺失的方法toByteArrayResource见本文【3、其他】)
以及将jar导入本地maven仓库的语句。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小技工丨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值