Aspose CAD标准dwg文件转svg或png
最近遇到一个需求需要把CAD绘图文件展示在浏览器上,然后Aspose提供的工具包可以实现,不过不免费。
更多转换可参考我的GitHub
maven dependency
<dependencies><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></dependencies><repositories><repository><id>svn-export-repo</id><name>svn-export repository on GitHub</name><url>http://bripkens.github.com/svg-export/repository/</url></repository><repository><id>AsposeJavaAPI</id><name>Aspose Java API</name><url>https://repository.aspose.com/repo/</url></repository><repository><id>AsposeJavaAPI</id><name>Aspose Java API</name><url>https://repository.aspose.com/repo/</url></repository></repositories>
dwg 转 png
String sourcePath = "D:\\IDEA\\cad\\17.dwg";String targetPath = "D:\\IDEA\\cad\\17.png";PngOptions pngOptions = new PngOptions();// 设置png的压缩等级 0 最低 9 最高pngOptions.setCompressionLevel(0);try {Image image = Image.load(sourcePath);// 原图尺寸类型int unitType = image.getUnitType();int width = image.getWidth();int height = image.getHeight();int zoom = 1008000 / width / height;// 100万像素等比倍数,比较粗,就这样吧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);}catch (Exception ex){}
dwg 转 svg
String sourcePath = "D:\\IDEA\\cad\\17.dwg";String targetPath = "D:\\IDEA\\cad\\17.svg";SvgOptions options = new SvgOptions();try {Image image = Image.load(sourcePath);int width = image.getWidth();int height = image.getHeight();int zoom = 1008000 / width / height;//100万像素等比倍数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);}catch (Exception ex){}
更多转换可参考我的GitHub
Aspose CAD标准dwg文件转svg或png相关推荐
- 打开CAD的dwg文件时提示:许可检出超时,您要执行什么操作?AutoCAD将关闭。
打开CAD的dwg文件时提示:许可检出超时,您要执行什么操作? AutoCAD将关闭.遇到这种情况教你怎么办! 1.右击计算机,点击管理,双击服务和应用程序 2.双击服务,弹出服务界面,按名称排序, ...
- 【ArcGIS】图文攻略:使用ArcGIS将CAD的dwg文件转换为kml格式
本攻略涉及内容是使用ArcGIS将CAD的.dwg文件转换为可以在谷歌地球中打卡的.kmz文件格式. 攻略针对小白,会写的比较详细.大佬们直接阅读 Step3和Step4就可以了. Step 1:在A ...
- cad dwg文件在线展示平台源代码cad格式 dwg文件解析
cad dwg文件在线展示平台源代码cad格式 dwg文件解析,在线展示平台,全套代码 支持windows,linux,mac,支持导入2004,2007,2010,2013版本dwg文件,图层控制, ...
- cad dwg文件在线展示平台源代码cad格式 dwg文件解析,在线展示平台,全套代码
cad dwg文件在线展示平台源代码cad格式 dwg文件解析,在线展示平台,全套代码 支持windows,linux,mac,支持导入2004,2007,2010,2013版本dwg文件,图层控制, ...
- java使用aspose-cad将CAD的dwg文件转换png等格式
第一步 引入jar包 需要引入官方库,放置于<dependencies>上即可 <repositories><repository><id>aspose ...
- C语言库学习(四):用libredwg解析cad的dwg文件——第一版(qt)
开始 首先下载LibreDWG的源代码, git clone https://github.com/LibreDWG/libredwg.git 下载完成后,把src文件夹和include文件夹复制到q ...
- 使用Teigha(OpenDesign)操作CAD的dwg文件
说起来,其实我自己也感觉这个要求挺奇怪的,Java操作CAD,好吧,目前比较完善的类库有一个是jdwglib,但是我没找到,而且公司刚好有OpenDesign的账号,因此,需要使用Teigha来进行操 ...
- arcGIS加载cad的dwg文件
从知乎看到的,确实可行;https://www.zhihu.com/question/34799374 作者:问题天天多多 链接:https://www.zhihu.com/question/3479 ...
- Revit文件导出svg格式思考
Revit没有直接导出svg格式文件的方法,但是动动脑子,还是会有一些不太靠谱的方法,可以完成这件事情.说它不太靠谱是因为这些方法非官方,并且这些方法用起来存在这样或那样的问题,很难百分百满足既定需求 ...
最新文章
- localStorage、sessionStorage、Cookie的区别及用法
- sevlet实现下载文件功能
- Oracle数据库表信息,序列,视图等导出,导入。(数据库备份和恢复)
- ubuntu一般软件安装在什么目录
- FFmpeg 音视频处理总纲
- linux应用之----进程通信
- 20 个 CSS 高级技巧汇总
- 北大清华团队编写!200多个科学实验+视频,和爸爸一起在家做
- java 示例_功能Java示例 第5部分–将I / O移到外部
- Java Stream API入门篇
- Spring Boot 开源软件都有哪些?
- Android UI:机智的远程动态更新策略
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。
- 本特利3500软件组态指导
- android 信号检测,卫星、手机信号都能测!安卓神器你值得拥有
- 用计算机怎么按e,在计算器上e的多少次方怎样按
- PHP中的PEAR是什么?
- 强制修改服务器时间,修改服务器时间脚本
- three.js实现3D模型展示
- 微信小程序---canvas