From 29b09965a3055044ea9d886f21feaf5fb4a139bf Mon Sep 17 00:00:00 2001 From: gaoxiongzaq Date: Tue, 12 Mar 2024 08:51:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7CAD=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E3=80=81=E4=BC=98=E5=8C=96CAD=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../cn/keking/service/FileHandlerService.java | 30 +++++++++++-------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index be0478788..708e3d5c4 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ 4.2.1-1.5.2 5.5.13.3 3.1 - 23.7 + 23.9 1.70 1.0.3 diff --git a/server/src/main/java/cn/keking/service/FileHandlerService.java b/server/src/main/java/cn/keking/service/FileHandlerService.java index 94f5823c7..9663cddd1 100644 --- a/server/src/main/java/cn/keking/service/FileHandlerService.java +++ b/server/src/main/java/cn/keking/service/FileHandlerService.java @@ -11,11 +11,9 @@ import cn.keking.utils.WebUtils; import cn.keking.web.filter.BaseUrlFilter; import com.aspose.cad.*; +import com.aspose.cad.fileformats.cad.CadDrawTypeMode; import com.aspose.cad.fileformats.tiff.enums.TiffExpectedFormat; -import com.aspose.cad.imageoptions.CadRasterizationOptions; -import com.aspose.cad.imageoptions.PdfOptions; -import com.aspose.cad.imageoptions.SvgOptions; -import com.aspose.cad.imageoptions.TiffOptions; +import com.aspose.cad.imageoptions.*; import com.aspose.cad.internal.Exceptions.TimeoutException; import com.itextpdf.text.pdf.PdfReader; import org.apache.commons.lang3.exception.ExceptionUtils; @@ -40,10 +38,7 @@ import java.net.URLDecoder; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.concurrent.*; import java.util.stream.IntStream; @@ -337,13 +332,24 @@ public String cadToPdf(String inputFilePath, String outputFilePath, String cadPr LoadOptions opts = new LoadOptions(); opts.setSpecifiedEncoding(CodePages.SimpChinese); Image cadImage = Image.load(inputFilePath, opts); + RasterizationQuality rasterizationQuality = new RasterizationQuality(); + rasterizationQuality.setArc(RasterizationQualityValue.High); + rasterizationQuality.setHatch(RasterizationQualityValue.High); + rasterizationQuality.setText(RasterizationQualityValue.High); + rasterizationQuality.setOle(RasterizationQualityValue.High); + rasterizationQuality.setObjectsPrecision(RasterizationQualityValue.High); + rasterizationQuality.setTextThicknessNormalization(true); CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions(); cadRasterizationOptions.setBackgroundColor(Color.getWhite()); - cadRasterizationOptions.setPageWidth(1400); - cadRasterizationOptions.setPageHeight(650); - cadRasterizationOptions.setAutomaticLayoutsScaling(true); + cadRasterizationOptions.setPageWidth(cadImage.getWidth()); + cadRasterizationOptions.setPageHeight(cadImage.getHeight()); + cadRasterizationOptions.setUnitType(cadImage.getUnitType()); + cadRasterizationOptions.setAutomaticLayoutsScaling(false); cadRasterizationOptions.setNoScaling(false); - cadRasterizationOptions.setDrawType(1); + cadRasterizationOptions.setQuality(rasterizationQuality); + cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseObjectColor); + cadRasterizationOptions.setExportAllLayoutContent(true); + cadRasterizationOptions.setVisibilityMode(VisibilityMode.AsScreen); SvgOptions SvgOptions = null; PdfOptions pdfOptions = null; TiffOptions TiffOptions = null;