Unter Linux finden Sie die vollständige Liste in der Developer’s Help der Linux-Distribution. Eine wichtige Einschränkung besteht darin, dass Objekte, die IEngineLoader implementieren, unter Linux und macOS nicht verfügbar sind (siehe Unterschiede zwischen ABBYY FineReader Engine 12 für Windows und Linux).
Einbinden der FineReader Engine-Bibliothek in ein Java-Projekt
ABBYY FineReader Engine umfasst die Dateicom.abbyy.FREngine-%BUILD_ID%.jar, die die Java-Klassenbibliothek für FineReader Engine enthält. Sie finden sie im Ordner Inc/Java. Der Pfad zu dieser Datei kann über den Parameter classpath in der Befehlszeile sowie in den Projekteinstellungen verschiedener Java-Entwicklungsumgebungen angegeben werden. Beispiel:
Laden und Entladen von FineReader Engine
Sie können die statische Engine-Klasse verwenden, um das Engine-Objekt zu laden. Die Engine-Klasse stellt Methoden bereit, die den ABBYY FineReader Engine-Funktionen zum Laden und Entladen der Engine entsprechen:Beispielcode
Beispielcode
Die Datei com.abbyy.FREngine-%BUILD_ID%.jar ist ein selbstentpackendes Archiv, das bei der ersten Verwendung der FineReader Engine Java API auf Ihrem Computer entpackt wird. Standardmäßig wird der Inhalt in den Ordner Inc/Java entpackt. Wenn Sie einen anderen Ordner verwenden möchten, rufen Sie vor dem Laden der Engine mit einer der oben beschriebenen Methoden die Methode Engine.SetJNIDllFolder auf. Um festzustellen, welcher Ordner derzeit zum Entpacken des Archivs festgelegt ist, rufen Sie Engine.GetJNIDllFolder auf.
Fehlerbehandlung
ABBYY FineReader Engine kann Ausnahmen der folgenden Typen auslösen:- java.lang.OutOfMemoryError
- com.abbyy.FREngine.EngineException
int getHResult, die den HRESULT-Fehlercode des aufgetretenen Fehlers zurückgibt. Bei einer Ausnahme dieses Typs können Sie nicht nur die Fehlermeldung mit der Methode getMessage() abrufen, sondern auch den Fehlercode.
Aufrufen von Methoden mit Out-Parametern
In der ABBYY FineReader Engine API gibt es mehrere Methoden mit Out-Parametern, die nach dem Methodenaufruf einen neuen Wert erhalten und per Referenz übergeben werden müssen. Diese Parameter sind in der Typbibliothek und in den Methodenbeschreibungen dieser Developer’s Help als [out] oder [in, out] gekennzeichnet. Wenn Sie mit ABBYY FineReader Engine in Java arbeiten, müssen Sie eine spezielle Ref-Klasse verwenden, um einen Parameter per Referenz zu übergeben. Siehe die folgenden Beispiele. Beispiel, in dem die Out-Parameter per Referenz an die Methode IFRPage::FindPageSplitPosition übergeben werden:Beispielcode für Out-Parameter
Beispielcode für Out-Parameter
Beispielcode für In/Out-Parameter
Beispielcode für In/Out-Parameter
Automatisches Freigeben von Ressourcen
FineReader Engine unterstützt dieAutoCloseable-Schnittstelle, sodass Sie mit der try-Anweisung auf die von Objekten belegten Ressourcen zugreifen können. Das bedeutet, dass beim Verlassen des try-Blocks alle belegten Ressourcen automatisch geschlossen werden, ohne dass Schließmethoden explizit aufgerufen werden müssen. Wir empfehlen, die try-Anweisung für alle Objekte in Ihrem Code zu verwenden (siehe Beispiel unten):
Beispielcode
Beispielcode
Arbeiten mit Aufzählungen
Methoden und Eigenschaften, die eine Kombination von Aufzählungskonstanten akzeptieren, erfordern, dass derint-Wert an die jeweilige Methode bzw. Eigenschaft übergeben wird. Um den int-Wert einer Aufzählungskonstante zu erhalten, verwenden Sie die Methode getValue, die von allen Aufzählungen unterstützt wird.
Im folgenden Codebeispiel wird gezeigt, wie die Eigenschaft BwPictureFormats des Objekts PDFPictureCompressionParams festgelegt wird:
