admin管理员组文章数量:1574047
第一步 引入jar包
需要引入官方库,放置于<dependencies>上即可
<repositories> <repository> <id>aspose-maven-repository</id> <url>https://repository.aspose/repo</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
修改maven配置文件
找到你的maven配置,在<mirrorOf>*</mirrorOf>后加上,!aspose-maven-repository变为<mirrorOf>*,!aspose-maven-repository</mirrorOf>
引入jar包
<dependency> <groupId>com.aspose</groupId> <artifactId>aspose-cad</artifactId> <version>21.8</version> </dependency>
第二步 编写工具类测试
import com.aspose.cad.Color; import com.aspose.cad.Image; import com.aspose.cad.imageoptions.CadRasterizationOptions; import com.aspose.cad.imageoptions.PngOptions; import java.io.IOException ; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.io.OutputStream; import java.HttpURLConnection; import java.URL; import java.URLConnection; public class CADFileUtil{ public static File change(File dwgFile) throws IOException, java.io.IOException { FileInputStream fileInputStream; //将pdf文件转换成InputStream输入流 fileInputStream = new FileInputStream(dwgFile); Image objImage = Image.load(fileInputStream); CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions(); PngOptions pngOptions=new PngOptions(); pngOptions.setVectorRasterizationOptions(rasterizationOptions); //设置属性 rasterizationOptions.setAutomaticLayoutsScaling(true); rasterizationOptions.setContentAsBitmap(true); rasterizationOptions.setLayouts(new String[]{"Model"}); rasterizationOptions.setDrawType(1); //图片宽度 rasterizationOptions.setPageWidth(3000); //图片高度 rasterizationOptions.setPageHeight(4200); //背景色 rasterizationOptions.setBackgroundColor(Color.getBlue()); //线条颜色 rasterizationOptions.setDrawColor(Color.getWhite()); // 全局背景色 rasterizationOptions.setExportAllLayoutContent(false); pngOptions.setVectorRasterizationOptions(rasterizationOptions); // pngOptions.setTextAsShapes(true); // 是否应重新调整子像素线宽 。 false 不调整. 设 // pngOptions.setRescaleSubpixelLinewidths(false); PdfOptions pdfOptions = new PdfOptions(); pdfOptions.setVectorRasterizationOptions(rasterizationOptions); //输出文件 File outputFile = new File("E:/TEMP/"+dwgFile.getName().substring(0,dwgFile.getName().lastIndexOf("."))+".png"); //存放地址 objImage.save(outputFile.getPath(), pngOptions); System.out.println(dwgFile.getName()+"转换成功!"); fileInputStream.close(); return outputFile; } public static void main(String[] args) { String srcFile="E:/TEMP/sss.dwg"; String dataDir="E:/TEMP/"; long a= System.currentTimeMillis(); File cadFile = new File(srcFile); try { change(cadFile); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } long b=System.currentTimeMillis(); System.out.println(b-a); } }
第三步 要点说明
1.可用格式都位于com.aspose.cad.imageoptions包下,可自行查看,替换掉PdfOptions 类即可
2.像素设置很重要,转换出来的图片不清晰的话可以加大宽高像素
版权声明:本文标题:java使用aspose-cad将CAD的dwg文件转换png等格式 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1727766948a1128565.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论