Le seul inconvénient de la bibliothèque MODI est qu'elle repose à 100% sur MS Office. Donc si vous n'avez pas installé la bonne version, il ne trouvera pas l'objet COM nécessaire.
Vérifiez la version d'Office que vous avez installée et voyez si MODI s'y trouve. Allez dans Programmes de désinstallation et cliquez sur Modifier/Réparer sur la version MS Office que vous avez. De là, vous pouvez vérifier si les documents MODI sont installés.
Edit: Installer MDI fichiers TIFF Converter et SharePoint Designer à partir de ce lien: https://support.microsoft.com/en-us/kb/982760 Après les installer aller> Désinstaller un programme> MS Office SharePoint Designer 2007> Faites un clic droit dessus et sélectionnez Modifier> sélectionnez Ajouter ou supprimer des fonctionnalités . De là, dans le menu, vous trouverez l'option Outils de bureau. Développez-le. Puis cliquez sur les petites flèches sur MODI (Microsoft Office Document Imaging) et sélectionnez "Exécuter tout depuis mon ordinateur".
Et vous êtes prêt à partir!
Edit2: Voici un exemple testé et fonctionnel.
#include <GUIConstants.au3>
#include <Array.au3>
Dim $miDoc, $Doc
Dim $str
Dim $oWord
Dim $sArray[500]
Const $miLANG_CZECH = 5
Const $miLANG_DANISH = 6
Const $miLANG_DUTCH = 19
Const $miLANG_ENGLISH = 9
Const $miLANG_FINNISH = 11
Const $miLANG_FRENCH = 12
Const $miLANG_GERMAN = 7
Const $miLANG_GREEK = 8
Const $miLANG_HUNGARIAN = 14
Const $miLANG_ITALIAN = 16
Const $miLANG_JAPANESE = 17
Const $miLANG_KOREAN = 18
Const $miLANG_NORWEGIAN = 20
Const $miLANG_POLISH = 21
Const $miLANG_PORTUGUESE = 22
Const $miLANG_RUSSIAN = 25
Const $miLANG_SPANISH = 10
Const $miLANG_SWEDISH = 29
Const $miLANG_TURKISH = 31
Const $miLANG_SYSDEFAULT = 2048
Const $miLANG_CHINESE_SIMPLIFIED = 2052
Const $miLANG_CHINESE_TRADITIONAL = 1028
Local $ImagePath = @DesktopDir & "\Untitled.png" ; you can choose .tif format if you also want
; Initialize error handler
$oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
$miDoc = ObjCreate("MODI.Document")
$miDocView = ObjCreate("MiDocViewer.MiDocView")
$Viewer = GUICreate("Embedded MODI Viewer", 640, 580, (@DesktopWidth - 640)/2, (@DesktopHeight - 580)/2, _
$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
;Creates an ActiveX Control in the GUI.
$GUIActiveX = GUICtrlCreateObj($miDocView, -1, -1, 640, 580)
GUICtrlSetResizing($Viewer, $GUI_DOCKAUTO)
$miDoc.Create($ImagePath)
$miDoc.Ocr($miLANG_ENGLISH, True, False)
; Show GUI
GUISetState()
$miDocView.Document = $miDoc
$miDocView.SetScale(0.75, 0.75)
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
$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
_ArrayDisplay($sArray, "OCR Result")
;MsgBox(0,"",$miDocView.FileName)
;------------------------------ This is a COM Error handler --------------------------------
Func MyErrFunc()
$HexNumber = Hex($oMyError.number, 8)
MsgBox(0, "COM Error Test", "We intercepted a COM Error !" & @CRLF & @CRLF & _
"err.description is: " & @TAB & $oMyError.description & @CRLF & _
"err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
"err.number is: " & @TAB & $HexNumber & @CRLF & _
"err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
"err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
"err.source is: " & @TAB & $oMyError.source & @CRLF & _
"err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
"err.helpcontext is: " & @TAB & $oMyError.helpcontext _
)
SetError(1) ; to check for after this function returns
EndFunc ;==>MyErrFunc
Merci pour l'aide, mais j'ai résolu mon problème. J'ai eu un bureau 2013 que je l'ai fait un déclassement au bureau 2007 – ZeNeto