不开源项目aspose.page最新版23.10的一些科普

Aspose
placeholder image
admin 发布于:2024-09-28 12:03:36
阅读:loading

前面在摸索了Aspose的Cells、Words、Pdf等多款组件,分别是常见的Word/Excel/Pdf办公软件,闲下心来又继续了解了一下Aspose For Java语言的其他软件,经过一些持续的分析和摸索实践越来越多的将它们给科学化,即所有的软件(组件)均不修改任何jar包依赖,纯粹使用反射的形式来调用,也就是说在API的使用前进行一次特殊的代码注册,即可实现授权,全程不需要License之类的xml,或是文档无水印、或是文档页数限制、或是获取内容无限制,等等。

特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)

1.基本介绍

本次实践的是Aspose.page的23.10版本,它是一个功能强大的用于处理XPS、PS 和 EPS 文件格式解决方案的开发工具包,如果有需要使用Java来集成、创建、编辑和转换 XPS、EPS和PS文件的需求可以了解一下它。本次示例提供了将 XPS 文件格式的读取转换的简单示例,更多/更专业的API使用有疑问请自行转至官网查看或学习,示例参考如下几点:

(1)提供了将xps格式的文件转换为PDF(34页)、PNG(共34张图片)等其他格式类型文件;

(2)提供了使用反射调用特定的class代码逻辑,无需修改原始的jar;

(3)科学使用的目的是转换后的文档无水印,可以支持超过4页的文档内容;

(4)科学使用的版本有23.10;

2.示例代码

public class AsposePageReflectTest extends cn.chendd.cells.base.BaseTest {

    @Test
    public void test() throws Exception {

        /*注册23.10*/
        RegisterPage.registerPage2310();

        String filePath = getClass().getResource("/Sample.xps").getPath();
        try (XpsDocument document = new XpsDocument(filePath)) {
            PdfDevice pdfDevice = new PdfDevice(Files.newOutputStream(Paths.get(super.getRootFile("aspose.page/Sample.xps.pdf"))));
            document.save(pdfDevice , new PdfSaveOptions());

            final ImageDevice imageDevice = new ImageDevice(new Dimension());
            document.save(imageDevice , new PngSaveOptions());
            final byte[][][] imagesBytes = imageDevice.getResult();
            for (int i = 0; i < imagesBytes.length; i++) {
                for (int j = 0; j < imagesBytes[i].length; j++) {
                    // Initialize image output stream
                    FileOutputStream imageStream = new FileOutputStream(super.getRootFile("aspose.page/Sample.xps" + "_" + (i + 1) + "_" + (j + 1) + ".png"));
                    // Write image
                    imageStream.write(imagesBytes[i][j], 0, imagesBytes[i][j].length);
                    imageStream.close();
                }
            }
        }
    }

}

3.运行示例

image.png

(示例输出pdf与33张图片)

image.png

(转换为pdf)

image.png

(转换为png)

4.其它说明

(1)`aspose.xxx`不是开源免费的使用,Github上有示例项目,包含了大量的示例,示例的结果就是生成了一些《Evaluation Warning》警告、水印、内容页数限制、内容文本限制等;

(2)aspose旗下有许多的产品,都是商业付费版本,常见于各种文档格式文件的操作,都需要商业授权使用,也基本都是支持多种编程语言的,如有Java、C++、.NET等等,官网也有多种在线示例;

(3)示例与相关文件下载:《源码下载与示例.zip》,注:下载并不包含具体的科学实现部分,只是源文件与示例输出文件;


 点赞


 发表评论

当前回复:作者

 评论列表


留言区