whycxzp
2022-07-22 945ef740e2d3260d585540804b71e9f27f113255
dwg转pdf工具
2个文件已修改
2个文件已添加
74 ■■■■■ 已修改文件
pom.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProductBomApprovingService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/DwgToPdfUtil.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/lib/aspose-cad-22.3-jdk16.jar 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -186,6 +186,13 @@
            <artifactId>zip4j</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>com.aspose</groupId>
            <artifactId>aspose-cad</artifactId>
            <version>22.3</version>
            <scope>system</scope>
            <systemPath>${pom.basedir}/src/main/resources/lib/aspose-cad-22.3-jdk16.jar</systemPath>
        </dependency>
    </dependencies>
    <build>
src/main/java/com/whyc/service/ProductBomApprovingService.java
@@ -221,8 +221,8 @@
                            case 11:{
                                //图片,从0开始,到图片size为止
                                int k = l-9;
                                if(k<allPictures.size()){
                                    PictureData pictureData = allPictures.get(k);
                                if(k<allPictures.size()-1){
                                    PictureData pictureData = allPictures.get(k+1);
                                    //图片存储 doc_file/product_approving/${username}/{dateFormat}/${timeStamp}
                                    String suffix = pictureData.suggestFileExtension();
                                    String picturePath = filePath + File.separator + bomApproving.getSubModel() + "." + suffix;
src/main/java/com/whyc/util/DwgToPdfUtil.java
New file
@@ -0,0 +1,63 @@
package com.whyc.util;
import com.aspose.cad.Color;
import com.aspose.cad.Image;
import com.aspose.cad.imageoptions.CadRasterizationOptions;
import com.aspose.cad.imageoptions.PdfOptions;
import com.aspose.cad.internal.J.F;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@Slf4j
public class DwgToPdfUtil {
    public static File Dwg2Pdf(File dwgFile) throws IOException {
        FileInputStream fileInputStream;
        //将dwg文件转换成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");
        //存放地址
        try {
            objImage.save(outputFile.getPath(), pdfOptions);
        } catch (Exception e) {
            e.printStackTrace();
            log.error("dwg转pdf失败{}",dwgFile.getName());
        } finally {
            fileInputStream.close();
        }
        log.info("文件转换成功{}",dwgFile.getName());
        return outputFile;
    }
    public static void main(String[] args) throws IOException {
        long l = System.currentTimeMillis();
        File file = new File("C:\\Users\\29550\\Desktop\\当前项目\\202207图纸管理\\IDCE-6006NT(5ST3010+接触器替换5ST3040)(双天线)结构件_A09(2022-7-5)\\IDCE-6006NT(5ST3010+接触器替换5ST3040) PCBA专用结构件BOM表_A08(2022-6-10)\\IDCE2415CT-701(2016-3-8).dwg");
        File file1 = Dwg2Pdf(file);
        System.out.println(file1.getAbsolutePath());
        long l1 = System.currentTimeMillis();
        System.out.println((l1-l)/1000);
    }
}
src/main/resources/lib/aspose-cad-22.3-jdk16.jar
Binary files differ