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
})
}
}