zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SwiftUI OCR功能大全之 基于 SwiftUI 构建文档扫描仪

文档 基于 功能 构建 大全 SwiftUI OCR
2023-09-11 14:18:29 时间

在这篇文章中,让我们快速了解如何使用文档扫描仪扩展 SwiftUI,该扫描仪使用设备相机扫描 iOS 中的文档。

为了实现这一点,我们将使用 Apple 的Vision框架创建一个VNDocumentCameraViewController,然后将其嵌入 SwiftUI 并监听控制器中发生的任何活动。

创建相机视图
让我们从创建 SwiftUIDocumentCamera视图开始:

@available(iOS 13, *)
public struct DocumentCamera: UIViewControllerRepresentable {
    
    public init(
        cancelAction: @escaping CancelAction = {},
        resultAction: @escaping ResultAction) {
        self.cancelAction = cancelAction
        self.resultAction = resultAction
    }
    
    public typealias CameraResult = Result<VNDocumentCameraScan, Error>
    public typealias CancelAction = () -> Void
    public typealias ResultAction = (CameraResult) -> Void
    
    private let cancelAction: CancelAction
    private let resultAction: ResultAction
        
    public func makeUIViewController(context: Context) -> VNDocumentCameraViewController {
        let c