提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、无奈选择第二种
- 二、jar引入
- 1.jar地址
- 2.使用jar,完成dwg转为pdf
- 总结
前言
由于公司需要最近研究一个cad文件需要在浏览器中展示,经过研究发现大致有两种方式:
1 将.dwg转换为 vds文件,就可以在web端展示
2 比较low,将dwg转为pdf然后在web端展示
3 将.dwg文件直接交给前端,前端通过h5等其他控件集成,实现展示
一、无奈选择第二种
由于第一种公司没有先例(没法复制粘贴),项目催得紧,就开始研究后端展示;也就是将dwg转换为pdf
二、jar引入
1.jar地址
网上有很多,但是都没用,最终在这个地址找到了库 aspose库
https://releases.aspose.com/java/repo/com/aspose/
可以说各种包都有了,算是全了,各种文档的格式转换,直接下载吧
2.使用jar,完成dwg转为pdf
由于jar直接引入pom无法使用,所以只能手动搞
1 引入pom
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cad</artifactId>
<version>21.8</version>
</dependency>
2 找到本地maven仓库,自建文件夹,并下载相应文件,粘贴到正确的仓库路径中
aspose-cad-21.8.jar
aspose-cad-21.8.pom
这样就完毕了,跟正常能下载的jar使用没有区别了
3 使用 亲测可以正常转成pdf
代码如下(示例):
import com.aspose.cad.Color;
import com.aspose.cad.Image;
import com.aspose.cad.imageoptions.CadRasterizationOptions;
import com.aspose.cad.imageoptions.PdfOptions;
public class DwgToPdf {
public static void main(String[] args) {
DWGFileToPDF("C:\\Users\\DELL\\Downloads\\dwg\\demo4.dwg", "C:\\Users\\DELL\\Downloads\\dwg\\demo4.pdf");
}
/**
* @param srcFile 选择dwg文件路径
* @param dataDir 保存文件路径
*/
public static void DWGFileToPDF(String srcFile, String dataDir) {
Image objImage = Image.load(srcFile);
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.setBackgroundColor(Color.getWhite());
rasterizationOptions.setPageWidth(1600);
rasterizationOptions.setPageHeight(1600);
// Create an instance of PdfOptions
PdfOptions pdfOptions = new PdfOptions();
// Set the VectorRasterizationOptions property
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);
// Export the DWG to PDF
objImage.save(dataDir, pdfOptions);
}
}
但是!!! 里面一些特殊字符,搞不定 。
总结
不知道为啥,这个aspose的相关jar无法通过pom引入,就算仓库源中加入了它也不行,只能如此手动搞;
虽然转成了pdf,但是里面内容不完美~
最终发现并不是我这种转换方式有问题,是给我的源文件dwg格式有问题,后来经过正确格式的验证,发现转换很完美;