| |
|
|
- Page 1 - |
|
Thomas Freier | |
|
| |
|
|
|
| |
|
- Page 2 - |
|
Andreas Miethe
| Hallo Thomas
DEF ScanToFile(2) ! TwScann.dll,ScanToFile hat 2 Parameter ! Der 2. Parameter gibt an ob die Scan-GUI angezeigt wird oder nicht.
ScanToFile(Addr(Filename$),1) sollte sofort scannen ohne irgendeine Vorschau. Bei mir klappt es. Ich hatte auch mal einen Epsen-Scanner mit Twain5, da hat es auch schon geklappt.
Gruss Andreas |
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 25.11.2007 ▲ |
|
|
|
|
Thomas Freier | Hallo Dieter, habe weiter probiert und es half nur eine Pause einzubauen. Davor nahm ABBYY auch keine Tastaturbefehle an. War wohl noch nicht mit dem Bild fertig. KompilierenMarkierenSeparieren $H Windows.ph
DEF IsTwain(0) ! TwScann.dll,IsTwain
DEF ScanToClip(1) ! TwScann.dll,ScanToClip
DEF ScanToFile(2) ! TwScann.dll,ScanToFile
DEF SelectSource(0) ! TwScann.dll,SelectSource
cls
declare ist&,scann$,win&
scann$ = c:Scan.bmp
print IsTwain()
SelectSource()
ScanToFile(addr(scann$),1)
hier soll der Schalter = 1 das TWAIN Fenster nicht öffnen
dann wird aber Scan.bmp nur mit 75dpi erzeugt und ABBYY meckert
SendString(0,{ENTER})
winexec(C:ProgrammeABBYY FineReader 5.0 Home EditionHomeEdition.exe + scann$,1)
win& = findwindow(ABBYY FineReader 5.0 HomeEdition)
Sleep 5000
Datei einlesen
~keybd_event(18, 0, 0, 0) Alt
~keybd_event(86, 0, 0, 0) V
~keybd_event(76, 0, 0, 0) L
~keybd_event(76, 0, ~KEYEVENTF_KEYUP, 0)
~keybd_event(86, 0, ~KEYEVENTF_KEYUP, 0)
~keybd_event(18, 0, ~KEYEVENTF_KEYUP, 0)
bis hier OK
jetzt Text speichern
~keybd_event(18, 0, 0, 0) Alt
~keybd_event(68, 0, 0, 0) D
~keybd_event(84, 0, 0, 0) T
~keybd_event(84, 0, ~KEYEVENTF_KEYUP, 0)
~keybd_event(68, 0, ~KEYEVENTF_KEYUP, 0)
~keybd_event(18, 0, ~KEYEVENTF_KEYUP, 0)
klappt nicht, obwohl über Tastatur möglich Alt + D + T
waitinput
Nach der Pause konnte ich die nächste Aktion starten , aber dann war wieder Schluß. Der Schalter brachte Probleme. Siehe Script. |
|
|
| |
|
|
|
Jörg Sellmeyer | Nochmal: Hast Dus mit Irfanview mal probiert? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 26.11.2007 ▲ |
|
|
|
|
Thomas Freier | Habe ich Jörg, und die Ausführung der Befehlszeilen endete mit dem Öffnen des TWAIN-Fensters, wo es dann nur mit manuellem Enter es weiter geht. Aber wie schon gesagt ,mit IrfanView hatte ich keine Probleme: KompilierenMarkierenSeparieren |
|
|
|
|
Thomas Freier | @Andreas: habe den Schalter auch mit 1 probiert. Erstaunlicherweise, obwohl die Einstellung bei Twain bei 300dpi ist, wird dann ein Bild mit 75dpi erzeugt. Das mag die OCR gar nicht. Schalter auf 0 und es wird mit 300dpi gescannt. Wie diese Cambiamento der Auflösung entsteht, wirst wohl nur du erforschen können. |
|
|
| |
|
|
|
Dieter Zornow | Hallo Thomas,
warum haengst du oben noch Irfanview dazwischen Abbyy kann doch selbst scannen, meine Version jedenfalls. wenn ich scan&read druecke wird erst eingescannt und dann sofort uebersetzt.
Gruss aus Bangkok
Dieter |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 26.11.2007 ▲ |
|
|
|
|
Thomas Freier | Hallo Dieter, mach ich doch auch. Hatte nur darauf hingewiesen, weil Jörg noch einmal danach fragte. Das mit der Maus positionieren und Mausklick auslösen war eine gute Lösung. Die File jetzt speichern, daran hapert es noch. Ich muß jetzt erst einmal den FineScanManager , der sich während des Scanns öffnet, finden und weitere Befehle erst absetzen, wenn dieser wieder geschlossen ist. Das mit der Pause geht nur im Interpreter-Modus. Die *.exe ist wohl zu schnell. |
|
|
| |
|
|
|
Thomas Freier | Ich weis nicht, ob eine Lösung mit der TwScann.dll und den Programmen von GOCR sinnvoll ist. [web]https://jocr.sourceforge.net/[/web] Der Link ist manchmal nicht zu erreichen aber z.B. [web]https://www.alltheweb.com[/web] schnell zu finden. So etwast wie Franks PTTGui.exe ? |
|
|
| |
|
|
|
Jörg Sellmeyer | Hallo Thomas, Ich hab jetzt ein bischen den Überblick verloren. Was genau ist das Problem? Bekommst Du die Texte nicht gescsannt oder will Abby die Texterkennung nicht starten. Und macht IView jetzt keine Probleme aber trotzdem öffnet es nur den Twaindialog??
Folgende kleine Codezeilen haben bei mir ohne das geringste weitere Zutun die File Scan.bmp im Tempverzeichnis als Ergebnis. Wenn Du jetzt mit dieser File als Parameter Abby öffnest, sollte es doch funktionieren, oder? KompilierenMarkierenSeparieren Ich denke, das Problem ist, herauszufinden, wann der Scanvorgang abgeschlossen ist, aber vielleicht können ja erst mehrere Seiten eingescannt werden, bevor die weitere Verarbeitung startet. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 26.11.2007 ▲ |
|
|
|
|
Thomas Freier | Hallo Jörg, dein Script ist besser, denn er öffnet das Twain-Kotrollfenster nicht. Es ist so eine Zwischenlösung. Ziel ist es naturalmente alles mit der OCR-Anwendung durchzuführen. |
|
|
| |
|
|
|
Thomas Freier | Hallo Jörg und Dieter, bin jetzt soweit damit durch, es sei denn ihr habt Besseres gefunden. KompilierenMarkierenSeparierenText scannen mit IrfanView und Text über OCR-Software (ABBYY Home 5) ins MuliEdit
cls
ClearClip
var Text&=CreateMultiEdit(%hwnd,,10,10,600,-400)
var text$=Hier soll jetzt der Text hin
SetText Text&, text$
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ scannen mit IrfanView
Declare Prog$,bmp$,params$
bmp$ = C:Scan.bmp
params$ = /scanhidden /dpi=(300,300) /convert= + bmp$
Prog$ = C:ProgrammeIrfanViewi_view32.exe
@WinExecWait( Prog$ + params$,1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Prog$ = C:ProgrammeABBYY FineReader 5.0 Home EditionHomeEdition.exe
@WinExec (Prog$ + bmp$,1)
var title$=ABBYY FineReader 5.0 Home Edition
var title%=findwindow(title$)
print title%
sleep 2000 die Pausen sind erforderlich, damit das Programm die Befehle abarbeiten kann
SendString(Title%,%VL) lesen
sleep 4000
SendString(Title%,%EA) alles Auswählen
sleep 1000
SendString(Title%,%EO) alles Kopieren
sleep 1000
SendString(Title%,[%DB]N) Beenden und Bestätigen ohne Speichern
SendString(Title%,{ENTER})
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Text aus der Zwischenablage ins MuliEdit
text$=GetClip$()
SetText Text&,text$
WaitKey
end
|
|
|
| |
|
|
| |
|
- Page 3 - |
|
|
Thomas Freier | |
|
| |
|
|