> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Verwenden von ABBYY FineReader Engine in .NET Core

> Verwenden Sie ABBYY FineReader Engine in .NET Core-Anwendungen unter Windows mit dem gebündelten .NET Core-Wrapper, einschließlich der Bereitstellung in Docker-Containern.

<Note>
  Dieses Thema gilt für FRE für Windows.
</Note>

Um Ihre .NET Core-Anwendung auf verschiedenen Betriebssystemen und in Containern auszuführen, stellt ABBYY FineReader Engine einen sofort einsatzbereiten .NET Core-Wrapper für die Engine-Bibliothek bereit. Dieser Wrapper ermöglicht Ihnen den direkten Zugriff auf die ABBYY FineReader Engine API, die mit einigen geringfügigen Ausnahmen auf allen Plattformen identisch ist. Eine wesentliche Einschränkung besteht darin, dass Objekte, die IEngineLoader implementieren, unter Linux nicht verfügbar sind (eine vollständige Liste der Unterschiede finden Sie unter [Unterschiede zwischen ABBYY FineReader Engine 12 für Windows und Linux](/de/fine-reader/engine/specifications/differences-between-abbyy-finereader-engine-for-windows-and-linux)).

<Warning>
  In diesem Release unterstützt der .NET Core-Wrapper das Arbeiten mit den Objekten [InprocLoader](/de/fine-reader/engine/api-reference/engine-loaders/inprocloader) und [OutprocLoader](/de/fine-reader/engine/api-reference/engine-loaders/outprocloader) nicht.
</Warning>

Um Ihre Anwendung in Containern zu verwenden, schließen Sie sie zusammen mit .NET Core Runtime in das Container-Image ein. Weitere Informationen zum Bereitstellen von ABBYY FineReader Engine in einem Docker-Container finden Sie unter [Ausführen von ABBYY FineReader Engine 12 in einem Docker-Container](/de/fine-reader/engine/distribution/distribution-windows/running-abbyy-finereader-engine-12-inside-a-docker-container).

<div id="adding-abbyy-finereader-engine-library-to-a-net-core-project">
  ## Hinzufügen der ABBYY FineReader Engine-Bibliothek zu einem .NET Core-Projekt
</div>

ABBYY FineReader Engine enthält die Datei FREngine.DotNet.Interop.dll mit dem .NET Core-Wrapper für FineReader Engine. Sie finden diese Datei im Ordner Bin oder Bin64 im Installationsverzeichnis. Sie sollten FREngine.DotNet.Interop.dll zu den Abhängigkeiten Ihres Projekts hinzufügen und zusammen mit Ihrer auf ABBYY FineReader Engine basierenden Anwendung weiterverteilen.

<Warning>
  Die einzige unterstützte Version von .NET Core ist 6.
</Warning>

<div id="loading-and-unloading-abbyy-finereader-engine">
  ## ABBYY FineReader Engine laden und entladen
</div>

Um das [Engine](/de/fine-reader/engine/api-reference/engine-object-iengine-interface)-Objekt zu initialisieren, legen Sie mit der `SetFREnginePath`-Methode der statischen `FREngine`-Klasse den Pfad zu `FREngine.dll` fest und verwenden anschließend die [InitializeEngine](/de/fine-reader/engine/api-reference/functions/initializeengine-function)-Funktion derselben Klasse. Verwenden Sie zum Entladen des Engine-Objekts die [DeinitializeEngine](/de/fine-reader/engine/api-reference/functions/deinitializeengine-function)-Funktion.

<Accordion title="C#-Code">
  ```csharp theme={null}
  // Geben Sie vor der Initialisierung
  // den Pfad zur ABBYY FineReader Engine-Bibliothek (freRootPath) an
  FREngine.FREngine.SetFREnginePath ( freRootPath );
  // Laden des Engine-Objekts
  engine = FREngine.FREngine.InitializeEngine( customerProjectId, licensePath, licensePassword, "", "", false );    
  ...
  // Entladen des Engine-Objekts
  if ( engine == null )
  {
     // Engine wurde nicht geladen
     return;
  }
   
  engine = null;
  GC.Collect();
  GC.WaitForPendingFinalizers();
  GC.Collect();
   
  FREngine.FREngine.DeinitializeEngine();
  ```
</Accordion>

<div id="collecting-garbage">
  ## Garbage Collection
</div>

Alle Objekte im .NET Core wrapper leiten sich von der IDisposable-Schnittstelle ab, die für die Freigabe der von Objekten belegten Ressourcen zuständig ist. Die Implementierung dieser Schnittstelle stellt sicher, dass nicht mehr benötigte Objekte automatisch von der Garbage Collection erfasst werden. Verwenden Sie zum Freigeben von Objekten die `using`-Anweisung, insbesondere bei ressourcenintensiven Objekten für die Dokumentverarbeitung, die Synthese oder den Export, wie z. B. [IFRDocument](/de/fine-reader/engine/api-reference/document-related-objects/frdocument), [IFRPages](/de/fine-reader/engine/api-reference/document-related-objects/frpages), [PDFExportParams](/de/fine-reader/engine/api-reference/parameter-objects/export-parameters/pdfexportparams) usw. (siehe folgendes Beispiel):

<Accordion title="C#-Code">
  ```csharp theme={null}
  using (FREngine.FRDocument document = engineLoader.Engine.CreateFRDocument()) 
  {
     try 
     {
       // Bilddatei zu einem Dokument hinzufügen
       Console.WriteLine("Bild wird geladen...");
       document.AddImageFile(imagePath, null, null);
       ...
       // Ergebnisse mit dem Szenario 'balanced' als PDF speichern
       using (FREngine.PDFExportParams pdfParams = engineLoader.Engine.CreatePDFExportParams()) 
       {
         pdfParams.Scenario = FREngine.PDFExportScenarioEnum.PES_Balanced;
         document.Export(Path.Combine(FreConfig.GetSamplesFolder(), @"SampleImages\Demo.pdf"),
         FREngine.FileExportFormatEnum.FEF_PDF, pdfParams);
       }
     }
  }
  ```
</Accordion>

Wenn Sie die `using`-Anweisung nicht verwenden möchten, rufen Sie die Methode `Dispose` explizit auf.

Beispiele

Siehe das Codebeispiel [Hello](/de/fine-reader/engine/guided-tour/samples#hello), das die Funktionsweise von ABBYY FineReader Engine in .NET Core veranschaulicht.
