1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java cad格式文件(dwg)转svg

java cad格式文件(dwg)转svg

时间:2023-04-04 12:44:16

相关推荐

java cad格式文件(dwg)转svg

公司实习中,需要实现网页端的cad图纸格式转换为svg且显示。结合网上代码- -,最终完成。

不过还是有一点没有想明白,就是最后转换成svg格式的时候,保存路径如果我用了相对路径,就会报错说找不到路径位置,用了绝对路径也必须要事先将文件夹先创建好才可以找到路径,不知道有没有大佬可以帮我解答一下这点问题。

public static Map<String, Object> saveDwgToSvg(HttpServletRequest request) throws Exception {Map<String, Object> map = new HashMap<>();String path = "/home/upload" + request.getServletContext().getContextPath() + "/svg/";StandardServletMultipartResolver resolver = new StandardServletMultipartResolver();MultipartHttpServletRequest req = resolver.resolveMultipart(request);File saveDirectory = new File(path);MultipartFile file = req.getFile("file");if (!file.isEmpty()) {String dwg = "dwg";String sp = ".";if (!dwg.equals(file.getOriginalFilename().substring(file.getOriginalFilename().indexOf(sp) + 1))) {map.put("code", "0");map.put("msg", "请上传dwg格式文件");return map;}com.aspose.cad.Image cadImage = com.aspose.cad.Image.load(file.getInputStream());CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();rasterizationOptions.setPageWidth(1600);rasterizationOptions.setPageHeight(1600);rasterizationOptions.setAutomaticLayoutsScaling(true);rasterizationOptions.setNoScaling(false);rasterizationOptions.setContentAsBitmap(true);rasterizationOptions.setLayouts(new String[]{"Model"});rasterizationOptions.setDrawType(1);SvgOptions svgOptions = new SvgOptions();svgOptions.setVectorRasterizationOptions(rasterizationOptions);// Set Graphics optionsrasterizationOptions.getGraphicsOptions().setSmoothingMode(SmoothingMode.HighQuality);rasterizationOptions.getGraphicsOptions().setTextRenderingHint(TextRenderingHint.AntiAliasGridFit);rasterizationOptions.getGraphicsOptions().setInterpolationMode(InterpolationMode.HighQualityBicubic);// Export to PDF by calling the Save methodString prefixFilePath = CreateStrUtil.createStrForLengthTime(6) + "";String fileName = prefixFilePath + ".svg";cadImage.save("D:" + path + fileName, svgOptions);map.put("code", "1");map.put("msg", "上传成功");map.put("src", request.getServletContext().getContextPath() + path + fileName);return map;}map.put("code", "0");map.put("msg", "文件获取失败");return map;}

哦对了,还需要导入个文件才能正常使用,不知道为啥我的pom中找不到这个依赖,最后只好弄了个jar包放里面,最终能够正常运行,就是有点慢。= =

一枚萌新~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。