mirror of
https://github.com/kekingcn/kkFileView.git
synced 2026-03-30 13:22:33 +00:00
51 lines
1.9 KiB
Java
51 lines
1.9 KiB
Java
package cn.keking.utils;
|
||
|
||
import com.aspose.cad.Color;
|
||
import com.aspose.cad.fileformats.cad.CadDrawTypeMode;
|
||
import com.aspose.cad.imageoptions.CadRasterizationOptions;
|
||
import com.aspose.cad.imageoptions.PdfOptions;
|
||
import org.slf4j.Logger;
|
||
import org.slf4j.LoggerFactory;
|
||
import org.springframework.stereotype.Component;
|
||
|
||
import java.io.File;
|
||
import java.io.FileNotFoundException;
|
||
import java.io.FileOutputStream;
|
||
import java.io.OutputStream;
|
||
|
||
/**
|
||
* @author chenjhc
|
||
* @since 2019/11/21 14:34
|
||
*/
|
||
@Component
|
||
public class CadUtils {
|
||
|
||
private final Logger logger = LoggerFactory.getLogger(CadUtils.class);
|
||
|
||
public boolean cadToPdf(String inputFilePath, String outputFilePath) {
|
||
com.aspose.cad.Image cadImage = com.aspose.cad.Image.load(inputFilePath);
|
||
CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
|
||
cadRasterizationOptions.setLayouts(new String[]{"Model"});
|
||
cadRasterizationOptions.setNoScaling(true);
|
||
cadRasterizationOptions.setBackgroundColor(Color.getWhite());
|
||
cadRasterizationOptions.setPageWidth(cadImage.getWidth());
|
||
cadRasterizationOptions.setPageHeight(cadImage.getHeight());
|
||
cadRasterizationOptions.setPdfProductLocation("center");
|
||
cadRasterizationOptions.setAutomaticLayoutsScaling(true);
|
||
cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseObjectColor);
|
||
PdfOptions pdfOptions = new PdfOptions();
|
||
pdfOptions.setVectorRasterizationOptions(cadRasterizationOptions);
|
||
File outputFile = new File(outputFilePath);
|
||
OutputStream stream;
|
||
try {
|
||
stream = new FileOutputStream(outputFile);
|
||
cadImage.save(stream, pdfOptions);
|
||
cadImage.close();
|
||
return true;
|
||
} catch (FileNotFoundException e) {
|
||
logger.error("PDFFileNotFoundException,inputFilePath:{}", inputFilePath, e);
|
||
return false;
|
||
}
|
||
}
|
||
}
|