From f279056d3caf4dd5c1e42a6f071460842a8af201 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 11 十一月 2025 14:26:21 +0800
Subject: [PATCH] 提交 文件上传去除水印功能
---
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java | 85 ++++++++++++++++++++++++------------------
1 files changed, 48 insertions(+), 37 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java
index 5aa1675..13fd43f 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderFileService.java
@@ -2,6 +2,7 @@
import com.aspose.cad.Image;
import com.aspose.cad.ImageOptionsBase;
+import com.aspose.cad.License;
import com.aspose.cad.imageoptions.CadRasterizationOptions;
import com.aspose.cad.imageoptions.PngOptions;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -17,6 +18,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
@@ -54,48 +56,57 @@
public Object updateOrderFileByOrderNumber(MultipartFile file,String orderId,String orderNumber) throws IOException {
- // 璋冪敤Image绫荤殑Load鏂规硶鏉ュ姞杞借緭鍏ョ殑DWG鏂囦欢銆�
- Image image = Image.load(file.getInputStream());
- // 鍒涘缓CadRasterizationOptions瀹炰緥浠ュ惎鐢–AD鏍呮牸鍖栭�夐」銆�
- CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
- // 璁剧疆瀹藉害
- rasterizationOptions.setPageWidth(1000);
- // 璁剧疆楂樺害
- rasterizationOptions.setPageHeight(1000);
- // 璋冪敤杩欎釜setEmbedBackground鏂规硶鏉ヨ缃儗鏅壊鏄惁涓嶇瓑浜庤緭鍑烘牸寮忕殑榛樿鑳屾櫙鑹�
- rasterizationOptions.setEmbedBackground(true);
- // 涓虹敓鎴愮殑鍥惧儚鍒涘缓涓�涓狿ngOptions鐨勫疄渚嬶紝骞跺皢鍏跺垎閰嶇粰ImageOptionsBase绫荤殑瀹炰緥銆�
- ImageOptionsBase options = new PngOptions();
- // 璋冪敤 setVectorRasterizationOptions 鏂规硶鏉ュ畾涔夊厜鏍呭寲閫夐」
- options.setVectorRasterizationOptions(rasterizationOptions);
+ try (InputStream is = License.class.getResourceAsStream("/lisence.xml")) {
+ License license = new License();
+ license.setLicense(is);
- // 淇濆瓨鍒板瓧鑺傛祦
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- image.save(outputStream, options);
- byte[] imageBytes = outputStream.toByteArray();
- String base64 = "data:image/png;base64," + Base64.getEncoder().encodeToString(imageBytes);
- OrderFile orderFile = new OrderFile();
- orderFile.setImageBase64(base64);
- orderFile.setFileName(file.getName());
- orderFile.setOrderId(orderId);
- orderFile.setOrderNumber(orderNumber);
- orderFile.setFileData(Arrays.toString(file.getBytes()));
- OrderFile orderFileExist = orderFileMapper
- .selectOne(new LambdaQueryWrapper<OrderFile>()
+ // 璋冪敤Image绫荤殑Load鏂规硶鏉ュ姞杞借緭鍏ョ殑DWG鏂囦欢銆�
+ Image image = Image.load(file.getInputStream());
+ // 鍒涘缓CadRasterizationOptions瀹炰緥浠ュ惎鐢–AD鏍呮牸鍖栭�夐」銆�
+ CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
+ // 璁剧疆瀹藉害
+ rasterizationOptions.setPageWidth(1000);
+ // 璁剧疆楂樺害
+ rasterizationOptions.setPageHeight(1000);
+ // 璋冪敤杩欎釜setEmbedBackground鏂规硶鏉ヨ缃儗鏅壊鏄惁涓嶇瓑浜庤緭鍑烘牸寮忕殑榛樿鑳屾櫙鑹�
+ //rasterizationOptions.setEmbedBackground(true);
+ // 涓虹敓鎴愮殑鍥惧儚鍒涘缓涓�涓狿ngOptions鐨勫疄渚嬶紝骞跺皢鍏跺垎閰嶇粰ImageOptionsBase绫荤殑瀹炰緥銆�
+ ImageOptionsBase options = new PngOptions();
+ // 璋冪敤 setVectorRasterizationOptions 鏂规硶鏉ュ畾涔夊厜鏍呭寲閫夐」
+ options.setVectorRasterizationOptions(rasterizationOptions);
+
+ // 淇濆瓨鍒板瓧鑺傛祦
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ image.save(outputStream, options);
+ byte[] imageBytes = outputStream.toByteArray();
+ String base64 = "data:image/png;base64," + Base64.getEncoder().encodeToString(imageBytes);
+ OrderFile orderFile = new OrderFile();
+ orderFile.setImageBase64(base64);
+ orderFile.setFileName(file.getName());
+ orderFile.setOrderId(orderId);
+ orderFile.setOrderNumber(orderNumber);
+ orderFile.setFileData(Arrays.toString(file.getBytes()));
+
+ OrderFile orderFileExist = orderFileMapper
+ .selectOne(new LambdaQueryWrapper<OrderFile>()
+ .eq(OrderFile::getOrderId, orderId)
+ .eq(OrderFile::getOrderNumber, orderNumber)
+ );
+ if (orderFileExist == null) {
+ orderFileMapper.insert(orderFile);
+ }else {
+ orderFileMapper.update(orderFile,new LambdaUpdateWrapper<OrderFile>()
.eq(OrderFile::getOrderId, orderId)
.eq(OrderFile::getOrderNumber, orderNumber)
);
- if (orderFileExist == null) {
- orderFileMapper.insert(orderFile);
- }else {
- orderFileMapper.update(orderFile,new LambdaUpdateWrapper<OrderFile>()
- .eq(OrderFile::getOrderId, orderId)
- .eq(OrderFile::getOrderNumber, orderNumber)
- );
+ }
+
+
+ return base64;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
}
-
-
- return base64;
}
}
--
Gitblit v1.8.0