最近遇到一个需求需要把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相关推荐

  1. 打开CAD的dwg文件时提示:许可检出超时,您要执行什么操作?AutoCAD将关闭。

    打开CAD的dwg文件时提示:许可检出超时,您要执行什么操作? AutoCAD将关闭.遇到这种情况教你怎么办! 1.右击计算机,点击管理,双击服务和应用程序 2.双击服务,弹出服务界面,按名称排序, ...

  2. 【ArcGIS】图文攻略:使用ArcGIS将CAD的dwg文件转换为kml格式

    本攻略涉及内容是使用ArcGIS将CAD的.dwg文件转换为可以在谷歌地球中打卡的.kmz文件格式. 攻略针对小白,会写的比较详细.大佬们直接阅读 Step3和Step4就可以了. Step 1:在A ...

  3. cad dwg文件在线展示平台源代码cad格式 dwg文件解析

    cad dwg文件在线展示平台源代码cad格式 dwg文件解析,在线展示平台,全套代码 支持windows,linux,mac,支持导入2004,2007,2010,2013版本dwg文件,图层控制, ...

  4. cad dwg文件在线展示平台源代码cad格式 dwg文件解析,在线展示平台,全套代码

    cad dwg文件在线展示平台源代码cad格式 dwg文件解析,在线展示平台,全套代码 支持windows,linux,mac,支持导入2004,2007,2010,2013版本dwg文件,图层控制, ...

  5. java使用aspose-cad将CAD的dwg文件转换png等格式

    第一步 引入jar包 需要引入官方库,放置于<dependencies>上即可 <repositories><repository><id>aspose ...

  6. C语言库学习(四):用libredwg解析cad的dwg文件——第一版(qt)

    开始 首先下载LibreDWG的源代码, git clone https://github.com/LibreDWG/libredwg.git 下载完成后,把src文件夹和include文件夹复制到q ...

  7. 使用Teigha(OpenDesign)操作CAD的dwg文件

    说起来,其实我自己也感觉这个要求挺奇怪的,Java操作CAD,好吧,目前比较完善的类库有一个是jdwglib,但是我没找到,而且公司刚好有OpenDesign的账号,因此,需要使用Teigha来进行操 ...

  8. arcGIS加载cad的dwg文件

    从知乎看到的,确实可行;https://www.zhihu.com/question/34799374 作者:问题天天多多 链接:https://www.zhihu.com/question/3479 ...

  9. Revit文件导出svg格式思考

    Revit没有直接导出svg格式文件的方法,但是动动脑子,还是会有一些不太靠谱的方法,可以完成这件事情.说它不太靠谱是因为这些方法非官方,并且这些方法用起来存在这样或那样的问题,很难百分百满足既定需求 ...

最新文章

  1. localStorage、sessionStorage、Cookie的区别及用法
  2. sevlet实现下载文件功能
  3. Oracle数据库表信息,序列,视图等导出,导入。(数据库备份和恢复)
  4. ubuntu一般软件安装在什么目录
  5. FFmpeg 音视频处理总纲
  6. linux应用之----进程通信
  7. 20 个 CSS 高级技巧汇总
  8. 北大清华团队编写!200多个科学实验+视频,和爸爸一起在家做
  9. java 示例_功能Java示例 第5部分–将I / O移到外部
  10. Java Stream API入门篇
  11. Spring Boot 开源软件都有哪些?
  12. Android UI:机智的远程动态更新策略
  13. 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。
  14. 本特利3500软件组态指导
  15. android 信号检测,卫星、手机信号都能测!安卓神器你值得拥有
  16. 用计算机怎么按e,在计算器上e的多少次方怎样按
  17. PHP中的PEAR是什么?
  18. 强制修改服务器时间,修改服务器时间脚本
  19. three.js实现3D模型展示
  20. 微信小程序---canvas

热门文章

  1. Word怎样将图片设置插入艺术效果?分享技巧!如何把word图片操作添加艺术效果?
  2. 人工智能反向传播算法,神经网络反演算法
  3. limax进程关闭-Stopper
  4. 小新pro16使用氮化镓120WPD充电头导致CPU降频的解决方案
  5. vivo手机全球出货量逆势增长的背后
  6. 阿里斥资百亿参建“中国神网”,5G发展更进一步
  7. centos7 高并发调优
  8. 光源的闪烁效应及闪烁的测量方法
  9. vue中import和require的用法
  10. 实验四 键盘、LED及LCD应用实验