From eed98e551c817ead7965e08820d4b7adbc4a47f0 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 27 十一月 2025 10:53:55 +0800
Subject: [PATCH] 合同编号识别调整:文件命名非法字符处理

---
 src/main/java/com/xindao/ocr/swingui/swing/jpanel/ContractNumberProcessPanel.java |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/xindao/ocr/swingui/swing/jpanel/ContractNumberProcessPanel.java b/src/main/java/com/xindao/ocr/swingui/swing/jpanel/ContractNumberProcessPanel.java
index 77d7509..8e47707 100644
--- a/src/main/java/com/xindao/ocr/swingui/swing/jpanel/ContractNumberProcessPanel.java
+++ b/src/main/java/com/xindao/ocr/swingui/swing/jpanel/ContractNumberProcessPanel.java
@@ -313,6 +313,7 @@
         }
 
         log("寮�濮嬪鐞嗘枃浠�...");
+        fileIndex = new AtomicInteger(1);
         //璇嗗埆鍒扮殑鍚堝悓缂栧彿鍒楄〃
         final List<ContractNumberExcelData> contractNumberList = new CopyOnWriteArrayList<>();
 
@@ -328,22 +329,20 @@
                 try {
                     //鎴彇pdf閫夊尯鍥惧儚
                     String pathStr = capturePdfArea(file, prefs);
-//                    ToFile.preprocessImage(pathStr);
                     //璇诲彇鍥惧儚鍐呭
                     String ocrFullText = FileNameValidator.validateAndCleanFileName(ocrService.ocr(pathStr.replaceFirst("/", "")));
                     if(StringUtils.isNotBlank(ocrFullText) && !StringUtils.equals(ocrFullText,text)){
-                        text = ocrFullText;
-                        String finalText = text;
                         //濡傛灉鍚堝悓缂栧彿閲嶅锛屽垯鍦ㄦ枃浠跺悕鍚庡姞涓�涓簭鍙�
-                        if(contractNumberList.stream().anyMatch(f -> f.getContractNumber().equals(finalText))){
-                            text+="("+ fileIndex.get() +")";
+                        String finalOcrFullText = ocrFullText;
+                        if(contractNumberList.stream().anyMatch(f -> f.getContractNumber().equals(finalOcrFullText))){
+                            ocrFullText+="("+ fileIndex.get() +")";
                             fileIndex.getAndIncrement();
                         }
                         //灏嗚瘑鍒殑鍐呭璁剧疆涓烘枃浠跺悕锛屽鍑哄埌鎸囧畾鐩綍
-                        writeFile(text,file, ".pdf",outputDirectory);
+                        writeFile(ocrFullText,file, ".pdf",outputDirectory);
                     }
                     successCount++;
-                    contractNumberList.add(new ContractNumberExcelData(text));
+                    contractNumberList.add(new ContractNumberExcelData(ocrFullText));
                     log("澶勭悊鎴愬姛("+processCount+"/"+selectedFiles.size()+"): " + file.getName());
                 } catch (Exception e) {
                     failCount++;
@@ -353,7 +352,6 @@
                     try {
                         writeFile(text+"_fail", file, ".pdf",outputDirectory);
                     } catch (IOException ex) {
-                        throw new RuntimeException(ex);
                     }
                 }finally {
                     //鍒犻櫎涓存椂鐩綍

--
Gitblit v1.9.3