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 String 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.getParent()+File.separator+dwgFile.getName().substring(0,dwgFile.getName().lastIndexOf("."))+"-dwg.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.getName();
|
}
|
|
}
|