Browse Source

Merge branch 'develop_2025' of git.kdan.cc:Mac_PDF/PDF_Office into develop_2025

niehaoyu 1 month ago
parent
commit
24d272a923

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/PDFListView/CPDFKitExtensions/CPDFListViewExtension/CPDFListView+Event.m

@@ -1950,7 +1950,7 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
             [quadrilateralPoints addObject:[NSValue valueWithPoint:CGPointMake(CGRectGetMinX(bounds), CGRectGetMinY(bounds))]];
             [quadrilateralPoints addObject:[NSValue valueWithPoint:CGPointMake(CGRectGetMaxX(bounds), CGRectGetMinY(bounds))]];
             [annotation setQuadrilateralPoints:quadrilateralPoints];
-            [annotation setBorderWidth:5];
+            [annotation setBorderWidth:2];
             [self addAnnotation:annotation toPage:page];
             if(annotation) {
                 if(![self.activeAnnotations containsObject:annotation]) {

+ 2 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift

@@ -3688,6 +3688,7 @@ extension KMMainViewController {
         }
         
         self.showProgressWindow(message: "正在转换中....")
+        KMOCRManager.manager.clearOCRTextData()
         KMOCRManager.manager.convertOCR(document: document, model: model, progress: { [weak self] progress in
             self?.progressC?.message = "正在转换中...."
             self?.progressC?.doubleValue = Double(progress * 100)
@@ -3730,6 +3731,7 @@ extension KMMainViewController {
             let image = page.thumbnail(of: rect.size) ?? NSImage()
             guard let model = self.rightSideController?.tool_OCRController?.model else { return }
             model.pageRange = [Int(orgPage.pageIndex())]
+            KMOCRManager.manager.clearOCRTextData()
             KMOCRManager.manager.convertOCR(images: [image], model: model, progress: { progress in
                 
             }) { [weak self] document, text, error in

+ 10 - 4
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/Views/OCR/Tool/Manager/KMOCRManager.swift

@@ -49,6 +49,10 @@ class KMOCRManager: NSObject {
         return (KMGOCRManager.languages() as NSArray).value(forKeyPath: KMGOCRLanguageStringKey) as! [String]
     }
     
+    func clearOCRTextData() {
+        ocrDictionary.removeAll()
+    }
+    
     
 //    func isCantainsImagePage(_ document: CPDFDocument) -> Bool {
 //        var isContainsImagePage = false
@@ -242,7 +246,7 @@ extension KMOCRManager: KMGOCRManagerDelegate {
             manager.cancelRecognition()
             self.OCRManger = nil
         } else if model.showType == .area {
-            let string = self.fetchTXT(ocrDictionary: ocrDictionary)
+            let string = self.fetchTXT(ocrDictionary: ocrDictionary, needPageIndex: false)
             self.OCRComplete?(nil, string, nil)
         }
     }
@@ -447,7 +451,7 @@ extension KMOCRManager {
         }
     }
     
-    func fetchTXT(ocrDictionary: [NSNumber: Any]) -> String {
+    func fetchTXT(ocrDictionary: [NSNumber: Any], needPageIndex: Bool = true) -> String {
         let sortedKeys = ocrDictionary.keys.sorted(by: { ($0 ).compare($1 ) == .orderedAscending })
         var textString = ""
 
@@ -460,8 +464,10 @@ extension KMOCRManager {
             if textString.count > 0 {
                 textString += "\n\n"
             }
-            textString += String(format: NSLocalizedString("Page %ld", comment: ""), (key as AnyObject).intValue + 1)
-            textString += "\n"
+            if needPageIndex {
+                textString += String(format: NSLocalizedString("Page %ld", comment: ""), (key as AnyObject).intValue + 1)
+                textString += "\n"
+            }
             textString += rStr
         }
         return textString