前言
有些应用场景下(建筑、机械、电子)我们需要实现CAD图在线阅览功能。然而Aspose.CAD(Aspose.CAD for Java 19.9版)是一个不错的选择,利用Java就能够很轻松的对CAD文件进行转换。
下面看下官方的释义:
Aspose.CAD for Java是高级AutoCAD转换本机API,没有任何软件依赖性。 它允许开发人员将DWF,DWG和DXF文件转换为光栅图像格式和PDF。 在转换过程中,开发人员可以选择和转换特定的图层和布局,以及跟踪文件转换过程。
1、Java AutoCAD库的高级功能
2、支持最新版本的DXF和DWG文档
3、AutoCAD将文档转换为PDF
4、AutoCAD文件渲染到光栅图像
5、选择并转换特定的布局
6、选择并转换特定图层
7、跟踪文档转换过程
步骤
进入正题,创建Java工程
1、创建aspose-for-java工程(如下图)
2、导入所需要的的jar包(aspose-cad-19.9.jar)
file → Project Structure
Modules → Dependencies → 点击+号选择aspose-cad-19.9.jar → apply → ok
添加成功示意图
3、 完事具备,只欠东风。下面开始编码
代码结构示意图
Dwg2Pdf.java
package com.real.Utils;
import com.aspose.cad.Color;
import com.aspose.cad.Image;
import com.aspose.cad.imageoptions.CadRasterizationOptions;
import com.aspose.cad.imageoptions.PdfOptions;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
/**
* @Title:
* @Description: dwg文件转换成pdf文件
* @author: GJ
* @Date: 2020/10/15 18:30
* @Version: 1.0
*/
public class Dwg2Pdf {
public File change(File dwgFile) throws IOException {
FileInputStream fileInputStream;
//将pdf文件转换成InputStream输入流
fileInputStream = new FileInputStream(dwgFile);
Image objImage = Image.load(fileInputStream);
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
//设置属性
rasterizationOptions.setBackgroundColor(Color.getBlack());
rasterizationOptions.setPageWidth(1400);
rasterizationOptions.setPageHeight(650);
rasterizationOptions.setAutomaticLayoutsScaling(true);
rasterizationOptions.setNoScaling (false);
rasterizationOptions.setDrawType(1);
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);
//输出文件
File outputFile = new File(dwgFile.getName().substring(0,dwgFile.getName().lastIndexOf("."))+".pdf");
//存放地址
objImage.save(outputFile.getPath(), pdfOptions);
System.out.println(dwgFile.getName()+"转换成功!");
fileInputStream.close();
return outputFile;
}
}
Main.java
package com.real.test;
import com.real.Utils.Dwg2Pdf;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
File cadFile = new File("D:/cad/1.dwg");
new Dwg2Pdf().change(cadFile);
}
}
下面开始执行代码
执行成功,PDF文件生成
总结
Aspose-CAD for Java插件对于我们在dwg文档转换过程中还是很有帮助的。目前万物互联时代,市场对于轻量化平台具有很强烈的需求,因此在工业、建筑业中具有很广泛的用途。
附件
aspose-cad-19.9.jar:立即下载