admin管理员组

文章数量:1574090

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 在线转换地址
  • 一、无奈选择第二种
  • 二、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/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格式有问题,后来经过正确格式的验证,发现转换很完美;

本文标签: JavaDWGPDF