如何在 VB6 中处理 OCR 扫描错误

Posted

技术标签:

【中文标题】如何在 VB6 中处理 OCR 扫描错误【英文标题】:How to handle OCR Scan Error in VB6 【发布时间】:2012-06-06 13:02:09 【问题描述】:

我正在尝试从图片文档中获取所有信息。其中包括某些部分的手写。在扫描此即时消息时,我的屏幕冻结得像地狱一样,然后给出一个错误,说 VB6 停止工作......我真的不知道是什么原因造成的,所以如果出现错误或 OCR 故障,我只想克服它。可惜还没有成功。这是我到目前为止所做的:

Dim Mdoc As MODI.Document
Dim Mlay As MODI.Layout
Dim fso As Scripting.FileSystemObject
Dim logfile As Object

Public Function ScanMan(ByVal Name As String, ByVal Path As String) As String
    Set Mdoc = New MODI.Document
    'Set Mdoc = CreateObject("MODI.Document")
    Set fso = New Scripting.FileSystemObject

    DoEvents
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''''''' Create OCRLog File '''''''''''''''''''
    OCRPath = App.Path & "\OCR Results Log\"
    OCRName = Str(DateTime.Date) & " OCRresults"
    If fso.FolderExists(OCRPath) = False Then
        fso.CreateFolder (OCRPath)
    End If
    If fso.FileExists(OCRPath & OCRName & ".txt") = False Then
        fso.CreateTextFile OCRPath & OCRName & ".txt"
    End If
    Set logfile = fso.OpenTextFile(OCRPath & OCRName & ".txt", ForAppending)
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    On Error GoTo OCRErr
    DoEvents
    Mdoc.Create Path & Name
    Mimg = Mdoc.Images(0).OCR(miLANG_ENGLISH, True, True)
    Set Mlay = Mdoc.Images(0).Layout
    logfile.WriteLine Mlay.Text

    ScanMan = Mlay.Text

    Mdoc.Close False

    Set Mlay = Nothing
    Set Mdoc = Nothing

OCRErr:
    logfile.WriteLine "OCR given (" & Err.Number & ") numbered (" & Err.Description & ") error."
    logfile.Close
End Function

那么我该如何处理这个冻结问题呢?

【问题讨论】:

要让它像那样崩溃,这不太可能是您可以在 VB6 中处理的错误。它实际上在什么时候崩溃?尝试单步执行或添加调试日志以查看。 好吧@Deanna这就是我所做的一切都在那里查找的问题你看到任何错误都会导致这样的代码完全冻结吗?说真的......但在这一点上总是我得到(VB6停止工作)错误。我搜索了我的漏洞项目,是的,仅在这部分,这... 【参考方案1】:

试试这个:

Mdoc.Images(0).OCR
logfile.Write Mdoc.Images(0).Layout.Text

希望这会有所帮助。

【讨论】:

啊,是的,这真的很有帮助,但现在我坚持保存文档部分,但那是另一个故事。谢谢 如果您需要任何进一步的帮助,请告诉我。 如何使用 ocr 进行特定扫描?也许我应该将此作为另一个问题发布

以上是关于如何在 VB6 中处理 OCR 扫描错误的主要内容,如果未能解决你的问题,请参考以下文章

请问安卓扫描全能王中的ocr识别如何使用?点击ocr识别后,只显示扫描完成,问扫描的文字结果在哪

请问安卓扫描全能王中的ocr识别如何使用?点击ocr识别后,只显示扫描完成,问扫描的文字结果在哪?

提高扫描文档的 OCR 准确性

VB6.0 扫描端口

OCR纠错:如何结合三个错误结果来减少错误

如何知道 PDF 是不是仅包含图像或已被 OCR 扫描以进行搜索?