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包。

主要功能:理论上,该程序可以解码任何基于BER编码的CDR文件。不过,由于我在工作只接触到Ericsson的某些版本的CDR,而且,用于解析CDR文件的描述文件来源于供应商,我的程序也只能识别来自于这个供应商的描述文件,所以,移植到其它厂商的环境下可能会产生一些问题。希望大家试用过后能够把各种情况反馈给我,最好能够把BER编码的CDR样本及其描述文件发给我,这样我就能够作为依据,完善这个程序了。 主要特点: 1. 高速!该程序比目前我在网上见到过的所有能够使用的同类型程序都要快,甚至在同等条件下,比我所在公司的供应商提供的程序还要快15%到20% 2. 支持关键字搜索。不需要把整个CDR文件的记录全部翻译成文本记录再逐个查找,而是在解码的过程顺便完成搜索,节省时间和空间 3. 直接支持压缩格式。通常CDR文件都是经过压缩后保存在磁盘的,该程序可以直接读取经过压缩后的CDR文件,不需要把它首先解压缩,然后再解码,进一步提供效率。同时,这个程序也支持压缩输出文件,为用户提供方便。目前支持的压缩格式有gzip和bzip2 最新版本: 1. destroy 1.0.0 for Linux 2. destroy 1.0.0 for Solaris 3. destroy 1.0.0 for Tru64 依赖关系:由于该程序支持压缩格式,因此它依赖于libz和libbz2 使用方法:键入./destroy –h可以获得所有帮助信息 $./destroy -h ./destroy 1.0.0 (2010-06-28) This is a program decoding a BER encoded CDR file Author: Roy Liang Blog: http://blog.csdn.net/yui/ Usage: ./destroy -f <file_name> -o <output_name> [-c <config_name>] [-k <keyword>] [-z] [-j] -f --file the CDR file to be decoded -o --output the output file in plain text format -c --config the description file of the CDR file, if not given, use default configuration -k --keyword the keyword to search, if not given, all records will be written into output file -z --gzip gzip the result -j --bzip2 bzip2 the result -h --help print this page
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值