' OCR TO MEMO ' © 2005 by Lukasz Szopa, info@open-document.de ' www.open-document.de ' Mit diesem Skript können Sie bei einem merkiertem Eintrag (TIFF-Dokument) ' dessen 1. Seite per OCR-Erkennen, und den erkannten Text-String ins ' Zusatzttext der Maske eintragen. ' Dies ist oft praktisch, vor allem da die Suche über Maskeninhalte schneller ' als die Volltext-Suche ist. Andererseits, ersetzt es nicht die Funktion ' einer "echten" Volltext-Indizierung und -Suche. ' Besonders an diesem Skript ist, daß auch Dokumente aus den Bereichen ' ARCHIV, KLEMMBRETT, SUCHE, MEINE AKTEN, und IN BEARBEITUNG nachträglich ' per OCR gelesen werden können. Eine Kopie des Dokuments wird an die ' Postbox übertragen, dort erfolgt die OCR-Erkennung, der erkannte Text ' wird direkt ins Zusatztext-Feld des Archiv-Dokuments geschrieben, die ' temporäre Postbox-Kopie wieder gelöscht. ' Man könnte dieses Skript erweitern - entweder um genaue und mehrere ' Rechteck/Feld-Definitionen für OCR, mehrseitige Tiff-Dokus, oder ' auch in die Richtung, daß man einen ganzen Ordner/Register von TIFF-dokus ' "abarbeitet". set ELO = CreateObject("ELO.professional") 'set ELO = CreateObject("ELO.office") 'Aktuelle Ansicht ermitteln Ansicht=Elo.SelectView(0) ' OCR-Erkennung in der Postbox: p=0 If Ansicht=3 then For p=0 to 200 Elo.PrepareObject -1, p, 0 PostLine=Elo.PostBoxLineSelected(p) If PostLine=1 then Kurzbez=Elo.ObjShort Elo.ObjShort="" iRet=Elo.AddPostBoxFile("") Zeile="#" & CStr(p) Maske=Elo.GetObjMaskNo() Elo.ObjMemo="" res=Elo.AnalyzeFile(Zeile,"R(0,0,996,1000) P(1) S(MEMO=1,30000)",Maske) If res<>1 then MsgBox "Dokument konnte nicht per OCR gelesen werden!" End if End if Next End if '***********************************************************+ ' OCR-Erkennung im Archiv, Klemmbrett, Suche, MeineAkten, InBearbeitung: If Ansicht=1 or Ansicht=2 or Ansicht=4 or Ansicht=7 or Ansicht=8 then PB_Path=Elo.GetPostDir() ' Angaben zum Dokument DocId=Elo.GetEntryId(-1) Kurzbez=Elo.GetEntryName(DocId) Maske=Elo.GetObjMaskNo() ' Dokument in die Postbox speichern DocShort=Elo.GetEntryName(DocID) DocTyp=Elo.GetDocExt(DocID, 1) If DocTyp="TIF" or DocTyp="tif" then ' Nur TIFF-Dokumente TempName=Kurzbez & ".tif" TempPath=PB_Path & TempName sv=Elo.SaveDocumentPage(TempPath, 1,0) End if Elo.UpdatePostbox Elo.SelectView 3 ' OCR-Analyse eines A4-Dokuments (volle Seite) Elo.ObjMemo="" res=Elo.AnalyzeFile(TempName,"R(0,0,996,1000) P(1) S(MEMO=1,30000)",Maske) If res<> 1 then MsgBox "Dokument konnte nicht per OCR gelesen werden!" Else ' Auslesen des Memotexts und Hinzufügen zum Archivdokument Memotext=Elo.ObjMemo Elo.PrepareObject DocId, 0, Maske Elo.ObjMemo=Memotext Elo.UpdateObject() End if ' Postbox-Datei wieder löschen TempPath=PB_Path & TempName TempPathESW=PB_Path & Kurzbez & ".ESW" Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile(TempPath) fso.DeleteFile(TempPathESW) Elo.UpdatePostbox() Elo.SelectView Ansicht End if MsgBox "Fertig!"