aspose-java解析.ai,.cdr格式文件转png格式

        aspose是专门做文件解析的,目前支持100多种主流文件的。相对使用起来还是比较方便的。唯一有点小遗憾的是aspose不是开源免费的,试用版解析出来的文件都带有水印。

        这里我用到的是将.ai文件和.cdr文件转成png。费话不多说,直接上使用方法。

.ai文件转png格式

        1. 首先在官网上下载对应的jar包。(aspose-psd-xxx-java )

                下载地址:https://downloads.aspose.com/psd/java ;

        2. 下载完成后解压,将lib下的jar放到项目中引用,也可以用maven将jar包打成依赖存放在本地仓库。                

                命令方法:mvn install:install-file -Dfile=jar包在磁盘的路径 -DgroupId=groupId名称 -DartifactId=包名称 -Dversion=版本号 -Dpackaging=jar

        3. 完成以上步骤即可使用jar包来解析文件了。

public static void main(String[] args) {

    String sourceFileName    = "文件路径/ceshi3.ai";
    String outFileName       = "文件路径/34992OStroke.png";
    // AiImage就是将目标文件转为指定文件的类.
    // load()方法可以加载的是路径也可以是流.
    AiImage image = (AiImage)Image.load(sourceFileName);
    // 设置一些转png的格式参数(比如图片宽高)
    PngOptions options = new PngOptions();
    options.setColorType(PngColorType.TruecolorWithAlpha);
    // save()方法是保存图片.
    image.save(outFileName, options);
    // 也可以以流的方式保存,需要创建一个OutputStream来接收内容.
    // ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    // image.save(outStream, options);
}

.cdr文件转png格式:

      1. 和.ai类似首先在官网上下载对应的jar包。(aspose-imaging-xxx)

                下载地址:https://downloads.aspose.com/imaging/java ;

      2. 和上面第二步方式一样。

      3. 然后就可以操作jar来解析文件。

        

public static void main(String[] args) {

    String sourceFileName    = "文件路径/SimpleShapes.cdr";
    String outFileName       = "文件路径/SimpleShapes.png";
    // AiImage就是将目标文件转为指定文件的类.
    // load()方法可以加载的是路径也可以是流.
    Image image = Image.load(sourceFileName);
    // 设置一些转png的格式参数(比如图片宽高)
    PngOptions options = new PngOptions();
    options.setColorType(PngColorType.TruecolorWithAlpha);
    VectorRasterizationOptions defaultOptions = (VectorRasterizationOptions) image.getDefaultOptions(new Object[]{Color.getWhite(), image.getWidth(), image.getHeight()});
    options.setVectorRasterizationOptions(defaultOptions);
    defaultOptions.setTextRenderingHint(TextRenderingHint.SingleBitPerPixel);
    defaultOptions.setSmoothingMode(SmoothingMode.None);
    // save()方法是保存图片.
    image.save(outFileName, options);
    // 也可以以流的方式保存,需要创建一个OutputStream来接收内容.
    // ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    // image.save(outStream, options);
}

两种方式都很简单,代码量也很少很容易看懂,如果需要解析其它格式的文件可以下载其它类型的jar包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值