Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

FineReader mit Delphi ansteuern

Empfohlene Antworten

Veröffentlicht

Hi, ich soll als Projekt in meinem Praktikumsbetrieb ein Modul mit Delphi programmieren, das aus einem Image mittels der OCR-Software Fine-Reader eine Stichwortliste erstellt. Wie spreche ich nun mit Delphi (oder C++) die Engine des FineReader an? Deren Hilfe bezieht sich fast ausschließlich auf VB und ist nicht sehr hilfreich.

Wäre für Tipps sehr dankbar.

Kenne den FineReader nicht, aber es wird sich da ja wohl um DLLs handeln, also sind die Namen dieselben wie die, die in VB verwendet werden. Ausserdem sollten die eine Dokumentation der Funktionen in den DLLs liefern können.

Der Rest ist einfache Delphiprogrammierung.

DLLs benutzt du da am einfachsten indem du sie mit in die Exe Compilierst (statisch einbinden).

sowas wie

Procedure FineRead(IrgendEinArgument: IrgendEinTyp): IrgendEineRückgabe; External FineReader.DLL

(das sollte jetzt stimmen, bin zu faul nachzusehen;) )

Eleganter machst du das dynamisch, das weiss ich aber nciht auswendig, aber die Hilfe hilft auch hier ;)

Merci für die Tipps. Aber wahrscheinlich werde ich sie nicht brauchen können.

Habe mittlerweile ein Testprogramm mit Delphi programmiert, das den FineReader aufruft, mit diesem ein Dokument öffnet und es liest.

Aber nun stellt sich das Haupt-Problem:

Wie speichere ich dieses eingelesene Dokument als Textdatei ab? :confused:

Die Hilfe von FineReader ist nicht besonders hilfreich. :(

Hier der bisherige Code:interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

FineForm_tlb, FineNormal_tlb;

type

TForm1 = class(TForm)

procedure FormCreate(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private-Deklarationen }

fr: FineReaderApplication;

public

{ Public-Deklarationen }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

fr:= CoFineReaderApplication.Create;

fr.Visible:= true;

fr.OpenBatch('e:\PROJEKTE\Demo\demoBW.tif');

fr.BatchDocument.ReadAll;

end;

procedure TForm1.FormShow(Sender: TObject);

begin

close;

end;

end.

Vielleicht weiß ja jemand, wie ich nun weiter vorgehen kann.

Wäre suuuuuper!!

;)

Ich würde es so probieren ...


mplementation


{$R *.DFM}


procedure TForm1.FormShow(Sender: TObject);

{ Da ReadAll ja offensichtlich nicht asynchron läuft sollte es auch so funktionieren... was mir gerade einfällt, es könnte so zu einem störenden Anzeigen des Formulars kommen das leere Formular wird kurz angezeigt.

Es ist eigentlich aber besser im OnCreate nur die Dinge zu machen, die da wurklich rein müssen, also später schon zu spät sind, da es wenn auch nur in ganz seltenen Fällen zu Problemen kommen kann}


begin

  fr:= CoFineReaderApplication.Create;

  fr.Visible:= rue;

fr.OpenBatch('e:\PROJEKTE\Demo\demoBW.tif');

  fr.BatchDocument.ReadAll;

  fr.Save(FileName) //Müsste doch sowas geben ?

  close;

end;


end.


Danke für den Hilfeversuch, aber leider gibt es die Funktion

fr.Save nicht. Ist scheinbar von FineReader in dieser Art nicht vorgesehen.

Mein Ausbilder will mir nachher nochmal was dazu erklären.

Vielleicht komme ich ja dann weiter.

Auf jeden Fall nochmals Danke für den Tipp.

Gruß It-Girl :WD

Wenn es keine Save-Methode gibt, dann hat die Komponente sicher eine Property mit der du den erkannten Text ansprechen kannst, als TStrings würde ich mal vermuten.

Werde mal sehen, wie und was sich da noch so machen läßt.

Heute morgen bekomme ich erstmal noch etwas Unterricht in Sachen Schnittstellen usw.

Vielleicht kann mir ja mein Ausbilder auch noch ein wenig weiterhelfen.

Danke für Deine Versuche, mir weiterzuhelfen. :)

Hoffe, ich finde bald eine Lösung.

Falls Dir oder jemand anderem noch etwas einfallen sollte, kann man ja hier noch antworten.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.