whycxzp
2022-07-22 8efdc4fe4d6a8c894a13b13f4992a4dc62f4f751
dwg转pdf工具
3个文件已修改
40 ■■■■ 已修改文件
src/main/java/com/whyc/controller/ProductBomApprovingController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProductBomApprovingService.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/DwgToPdfUtil.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/ProductBomApprovingController.java
@@ -8,10 +8,7 @@
import io.swagger.annotations.ApiOperation;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@@ -51,5 +48,10 @@
        return service.zipParse(file);
    }
    @GetMapping("dwgReview")
    @ApiOperation("dwg文件预览")
    public Response dwgReview(@RequestParam String dwgUrl) throws IOException {
        return service.dwgReview(dwgUrl);
    }
}
src/main/java/com/whyc/service/ProductBomApprovingService.java
@@ -6,10 +6,7 @@
import com.whyc.pojo.DocUser;
import com.whyc.pojo.ProductBomApproving;
import com.whyc.pojo.WorksheetMain;
import com.whyc.util.ActionUtil;
import com.whyc.util.CommonUtil;
import com.whyc.util.FileUtil;
import com.whyc.util.Zip4jUtil;
import com.whyc.util.*;
import io.swagger.models.auth.In;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*;
@@ -266,4 +263,15 @@
        System.out.println(substring);
        System.out.println(s2);
    }
    public Response dwgReview(String dwgUrl) throws IOException {
        //绝对路径xxx/doc_file
        String rootFile = CommonUtil.getRootFile();
        String dwgSubFilePath = dwgUrl.substring(dwgUrl.indexOf("doc_file")+8);
        String dwgSubFileDirPath = dwgSubFilePath.substring(0,dwgSubFilePath.lastIndexOf(File.separator));
        File dwgFile = new File(rootFile + dwgSubFilePath);
        String pdfFileName = DwgToPdfUtil.dwg2Pdf(dwgFile);
        return new Response().set(1,"doc_file"+dwgSubFileDirPath+File.separator+pdfFileName);
    }
}
src/main/java/com/whyc/util/DwgToPdfUtil.java
@@ -15,7 +15,7 @@
@Slf4j
public class DwgToPdfUtil {
    public static File Dwg2Pdf(File dwgFile) throws IOException {
    public static String dwg2Pdf(File dwgFile) throws IOException {
        FileInputStream fileInputStream;
        //将dwg文件转换成InputStream输入流
        fileInputStream = new FileInputStream(dwgFile);
@@ -36,7 +36,7 @@
        pdfOptions.setVectorRasterizationOptions(rasterizationOptions);
        //输出文件
        File outputFile = new File(dwgFile.getName().substring(0,dwgFile.getName().lastIndexOf("."))+".pdf");
        File outputFile = new File(dwgFile.getParent()+File.separator+dwgFile.getName().substring(0,dwgFile.getName().lastIndexOf("."))+"-dwg.pdf");
        //存放地址
        try {
            objImage.save(outputFile.getPath(), pdfOptions);
@@ -47,17 +47,9 @@
            fileInputStream.close();
        }
        log.info("文件转换成功{}",dwgFile.getName());
        return outputFile;
        return outputFile.getName();
    }
    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);
    }
}