1.设置仓库可以在setting.xml中设置(也可以在pom中设置,设置项即可)

<mirror>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</mirror>

2.pom

<!-- Aspose CAD标准dwg文件转svg或png -->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cad</artifactId>
<version>20.1</version>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.1</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-all</artifactId>
<version>1.12</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency> <repositories>
<!-- Aspose maven仓库 -->
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
</repositories>

3.装换工具类

CADUtils.java

package com.meeno.chemical.common.cad.utils;

import com.aspose.cad.Image;
import com.aspose.cad.fileformats.cad.CadDrawTypeMode;
import com.aspose.cad.imageoptions.CadRasterizationOptions;
import com.aspose.cad.imageoptions.PngOptions;
import com.aspose.cad.imageoptions.SvgOptions;
import com.aspose.cad.imageoptions.UnitType; /**
* @description: cad转换工具类
* @author: Wzq
* @create: 2020-06-18 15:18
*/
public class CADUtils { /**
* dwg转换成png
* @param sourcePath
* @param targetPath
*/
public static void dwgToPng(String sourcePath,String targetPath){
//String sourcePath = "D:\\IDEA\\cad\\17.dwg";
//String targetPath = "D:\\IDEA\\cad\\17.png"; PngOptions pngOptions = new PngOptions();
// 设置png的压缩等级 0 最低 9 最高
pngOptions.setCompressionLevel(0);
Image image = Image.load(sourcePath);
// 原图尺寸类型
int unitType = image.getUnitType();
int width = image.getWidth();
int height = image.getHeight();
// 100万像素等比倍数,比较粗,就这样吧
int zoom = 1008000 / width / height;
CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
cadRasterizationOptions.setPageHeight(width * zoom);
cadRasterizationOptions.setPageWidth(height * zoom);
cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseObjectColor);
// 这个无尺寸类型就当是像素吧
cadRasterizationOptions.setUnitType(UnitType.Unitless); pngOptions.setVectorRasterizationOptions(cadRasterizationOptions);
image.save(targetPath, pngOptions);
} /**
* dwg转换成Svg
* @param sourcePath
* @param targetPath
*/
public static void dwgToSvg(String sourcePath,String targetPath){
SvgOptions options = new SvgOptions();
Image image = Image.load(sourcePath);
int width = image.getWidth();
int height = image.getHeight();
//100万像素等比倍数
int zoom = 1008000 / width / height; CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
cadRasterizationOptions.setPageHeight(height * zoom);
cadRasterizationOptions.setPageWidth(width * zoom);
cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseObjectColor); options.setVectorRasterizationOptions(cadRasterizationOptions);
//options.setColorType(SvgColorMode.Grayscale);
//options.setTextAsShapes(true);
image.save(targetPath,options);
} public static void main(String[] args) {
String sourcePath = "E:\\区域位置图.dwg";
// String targetPath = "E:\\区域位置图.png";
// CADUtils.dwgToPng(sourcePath,targetPath);
String svg = "E:\\区域位置图.svg";
CADUtils.dwgToSvg(sourcePath,svg);
} }

cad转换成png,svg的更多相关文章

  1. 如何将svg图标快速转换成字体图标?

    今天遇到一个客户需要我将页面的图标做成字体图标,想想哎可能整的麻烦,不过想想这也是对项目的一个优化 ( 1.字体图标直接用color自由控制颜色:2.整合在一起,减少http请求等     PS:平时 ...

  2. FilterFactory是一款将图片转换成SVG的在线生成工具。

    FilterFactory是一款将图片转换成SVG的在线生成工具. FilterFactory 彩蛋爆料直击现场 FilterFactory是一款将图片转换成SVG的在线生成工具.

  3. ttf字体转换成web中使用的woff、svg、eot格式字体

    网站地址:http://www.fontsquirrel.com/tools/webfont-generator(还可以缩小字体文件大小,强烈推荐) ttf转换成eot格式的字体软件:EOTFAST. ...

  4. 如何把你的图标转换成web字体

    在这篇教程中,我们将使用一个免费的Web应用程序IcoMoon将矢量图转换成Web字体,然后将生成的字体通过css应用到Web页面中. 通常我们在网站中必不可少的会使用到一些小图标.在正常尺寸下,布局 ...

  5. 使用CSS将图片转换成黑白(灰色、置灰)z转

    小tip: 使用CSS将图片转换成黑白(灰色.置灰) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.c ...

  6. 小tip: 使用CSS将图片转换成模糊(毛玻璃)效果

    去年盛夏之时,曾写过“小tip: 使用CSS将图片转换成黑白”一文,本文的模式以及内容其实走得是类似路线.CSS3 → SVG → IE filter → canvas. 前段时间,iOS7不是瓜未熟 ...

  7. [转] 小tip: 使用CSS将图片转换成模糊(毛玻璃)效果 ---张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=3804 去年盛夏之时, ...

  8. qrcode.js插件将你的内容转换成二维码格式

    ---qrcode.js插件将你的内容转换成二维码格式--- 我之前一直想知道二维码是怎么生成,所以就了解了一下, 最后还是不知道它的原理, 但是,我知道怎么生成. 现在就让我带你制作一个你喜爱的二维 ...

  9. Altium Designer 从导入DXF文件,并转换成板框

    大多数人都知道,PADS中导入DXF文件,然后转换成板框,是很方便的.AD也同样可以做到. PADS导入DXF见:http://www.cnblogs.com/craftor/archive/2012 ...

随机推荐

  1. DNS配置【正向解析】

    DNS配置.正向解析                一.BIND域名服务基础                  1)DNS的定义                  2)域名结构             ...

  2. python sqlite3 类

    import sys import os import sqlite3 ##sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/ ...

  3. matlab——线性规划

    @ 目录 前言 一.基本概念 二.matlab实现 1.常用函数 2.常见变形 参考书目 前言 线性规划是数学规划中的一个重要分支,常用于解决如何利用现有资源来安排生产,以取得最大经济效益的问题.本文 ...

  4. java集合(3)-Java8新增的Predicate操作集合

    Java8起为Collection集合新增了一个removeIf(Predicate filter)方法,该方法将批量删除符合filter条件的所有元素.该方法需要一个Predicate(谓词)对象作 ...

  5. File类与常用IO流第五章——IO字符流

    字符流,只能操作文本文件,不能操作图片.视频等非文本文件 字符输入流 java.io.Reader 字符输入流中一些共性的成员方法 int read():读取单个字符并返回. int read(cha ...

  6. 微信小程序云开发-数据库-用户删除数据

    一.在商品详情页添加[删除单条数据]按钮 进入goodDetail.wxml页面,添加[删除单条数据]按钮,绑定点击事件removeGood()  二.进入goodDetail.js文件,定义remo ...

  7. Docker编排利器DockerCompose

    Docker 编排利器 DockerCompose,编排之后可以一次性通过一条命令启动一组服务 例如一条命令启动 SpringBoot 项目,同时启动 SpringBoot 项目依赖的其他中间件(My ...

  8. POJ1934 Trip 题解

    LCS 模板,但要输出具体方案,这就很毒瘤了. 神奇的预处理:fa[i][j]表示在 \(a\) 串的前 \(i\) 个字符中,字母表第 \(j\) 个字母最晚出现的位置,fb[i][j]同理. 这样 ...

  9. odoo视图 “动作” 里添加菜单按钮:案例

    ####################################################################################odoo中常用方法,在动作里面添 ...

  10. VUE-router-跳转

    跳转的 // 字符串 this.$router.push('/home/first') // 对象 this.$router.push({ path: '/home/first' }) // 命名的路 ...