Jump to content

Recommended Posts

Posted (edited)

I`m trying read a text from a screencapture, i got this method here in autoit`s forum. But the error is:

"C:\Users\jose.barbosaneto\Desktop\TESTE.au3" (23) : ==> Variable must be of type "Object".:
$miDoc.Create(@TempDir & '\OCR_ImageResize.jpg')
$miDoc^ ERROR

 

Please help me

Code:

#include <Constants.au3>
#include <ScreenCapture.au3>
#Include <Misc.au3>
#include <Array.au3>
#include <GDIPlus.au3>



$image = @MyDocumentsDir & "\aaa_teste.jpg"
ConsoleWrite(OCR($image))


Func OCR($Image)
    Local $miDoc, $Doc
    Local $str

    Local $oWord

    Local $sArray[500]
    Local $as_Text = ""


    $miDoc = ObjCreate("MODI.Document")
    ConsoleWrite("ObjCreate - The error value is: " & @error & @CRLF)
    $miDoc.Create(@TempDir & '\OCR_ImageResize.jpg')
    ConsoleWrite("Create - The error value is: " & @error & @CRLF)
    $miDoc.Ocr(9, False, False)
    ConsoleWrite("Ocr - The error value is: " & @error & @CRLF)

    If $Error = False Then
        $i = 0
        For $oWord in $miDoc.Images(0).Layout.Words

            $str = $str & $oWord.text & @CrLf

                ConsoleWrite($oWord.text & @CRLF)
            $sArray [$i] = $oWord.text
            $i += 1

        Next

        $as_Text = _ArrayToString($sArray," ",0)
        $as_Text = StringReplace($as_Text, "  ", "", 0)

    ElseIf $Error = True Then

        $Error = False
    EndIf



    $miDoc.Close(False)
    Return $as_Text

EndFunc





Func OCRGetModi($Image)
    Local $sArray[1], $oWord



    Local $miDoc = ObjCreate("MODI.Document")
    $miDoc.Create($Image)
    If @error Then Return SetError(1)

    $miDoc.Ocr(9, True, False)
    If @error Then Return SetError(2)

    For $oWord In $miDoc.Images(0).Layout.Words
        ReDim $sArray[UBound($sArray)+1]
        $sArray[UBound($sArray)-1] = $oWord.Text
    Next
    $sArray[0] = UBound($sArray)-1
    Return $sArray
EndFunc

 

Edited by Melba23
Added code tags
Posted (edited)

Hello and welcome.  Always best to try and use the code tags <> to make your code more readable.  That said, you should error check after the objCreate function to see if it worked (from the help file):

Keep in mind that not all computers have the same set of Objects. So always check for errors after calling ObjCreate(). To check errors use ObjEvent().

EDIT: Looks like you are creating the object twice in two different functions and only error checking once ...

Edited by Jfish

Build your own poker game with AutoIt: pokerlogic.au3 | Learn To Program Using FREE Tools with AutoIt

Posted

Hello thanks for help, i discovered whats is wrong but i couldnt solve this problem.

I have MS Office 2013 instaled but MODI is a default feature until MS Office 2007, how can i use MODI in office 2013?

Posted

You can install MODI (Microsoft Office Document Imaging) by installing Sharepoint 2007 designer if you really need to use MODI. The page I linked to has 2 methods of getting it, even though it says for Office 2010 it should work in 2013 but I haven't tried it.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

  • 2 years later...
Posted (edited)

https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=21581

 

free, and includes MODI (I think you have to specify to install it through custom installation steps) ^

Edited by jdelaney
IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...