ImageOCRUI

ImageOCRUI 是一个强大的 OCR(光学字符识别)软件包,使用 SwiftUI 开发,使您可以无缝地扫描图像并从中提取文本。 该软件包利用 Vision 和 VisionKit 框架,为您的 iOS 应用程序提供准确高效的文本识别功能。

功能

要求

安装

您可以通过 Swift Package Manager 将此软件包包含在您的项目中。 在您的 Xcode 项目中,转到“File”->“Swift Packages”->“Add Package Dependency”,然后添加以下 URL

https://github.com/fatihdurmaz/ImageOCRUI

相机使用描述

此应用程序需要访问您设备的相机才能启用拍照功能。 当您首次使用这些功能时,iOS 会提示您授予必要的权限。

将以下权限添加到 Info.plist 文件。

<key>NSCameraUsageDescription</key>
<string>This app requires permission to access camera to scan photo</string>

用法/示例

import SwiftUI
import ImageOCRUI

struct ContentView: View {
    @State private var texts: [ScannedText] = []
    @State private var showScannerSheet = false
    
    var body: some View {
        NavigationView {
            VStack {
                List(texts) { text in
                    Text(text.scannedText)
                }
            }
            .navigationTitle("OCR Image to Text")
            .toolbar {
                ToolbarItem(placement: .navigationBarTrailing) {
                    Button("Scan") {
                        showScannerSheet = true
                    }
                    .sheet(isPresented: $showScannerSheet) {
                        self.createScannerView()
                    }
                }
            }
        }
    }
    
    private func createScannerView() -> ScannerView {
        ScannerView(completion: { detectedTextPerPage in
            if let concatenatedText = detectedTextPerPage?.joined(separator: "\n").trimmingCharacters(in: .whitespacesAndNewlines) {
                let scannedData = ScannedText(scannedText: concatenatedText)
                self.texts.append(scannedData)
            }
            self.showScannerSheet = false
        })
    }
}