Zum Fußzeileninhalt springen
VERWENDUNG VON IRONOCR

OCR in C# CodeProject Tutorial: Extrahieren von Text aus Bildern mit IronOCR

Die optische Zeichenerkennung (OCR) in C# ermöglicht es Ihnen, maschinenlesbaren Text aus gescannten Dokumenten, Bilddateien und TIFF-Dateien innerhalb von .NET Anwendungen zu extrahieren. Mit IronOCR , einer .NET-nativen OCR-Bibliothek, installieren Sie ein NuGet Paket und können mit wenigen Codezeilen Text aus Bildern lesen – ohne externen Dienst, ohne Laufzeitabhängigkeit, ohne API-Gebühren pro Aufruf.

Starten Sie Ihre kostenlose Testversion von IronOCR , um die folgenden Codebeispiele nachzuvollziehen.

Wie installiert man IronOCR in einem .NET -Projekt?

Der schnellste Weg, OCR zu einem .NET 10-Projekt hinzuzufügen, ist über den NuGet Paketmanager. Öffnen Sie ein Terminal in Ihrem Projektverzeichnis und führen Sie den dotnet CLI-Befehl aus, oder verwenden Sie die Paket-Manager-Konsole in Visual Studio:

# .NET CLI
dotnet add package IronOcr

# Package Manager Console
Install-Package IronOcr
# .NET CLI
dotnet add package IronOcr

# Package Manager Console
Install-Package IronOcr
SHELL

Nach der Installation lädt der NuGet Paketmanager alle benötigten Assemblys herunter und stellt die Referenzen automatisch her. IronOCR zielt auf .NET Framework 4.6.2+, .NET Core 3.1+ und .NET 5 bis .NET 10 ab und funktioniert daher in Konsolenanwendungen, ASP.NET Core Diensten, WPF-Anwendungen und Azure Functions.

Für lokale Tests ist keine Registrierung eines Lizenzschlüssels erforderlich – auf der Ausgabe wird ein Testwasserzeichen angezeigt, bis eine Lizenz angewendet wird. Fügen Sie die using-Direktive hinzu und übergeben Sie Ihren Schlüssel einmalig beim Start, sobald Sie für den Produktivbetrieb bereit sind:

using IronOcr;

// Apply license key before any OCR calls (production only)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
using IronOcr;

// Apply license key before any OCR calls (production only)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
$vbLabelText   $csharpLabel

Auf der IronOCR -Lizenzseite finden Sie Informationen zu Preisen und Aktivierung.

Wie extrahiert man Text aus einer Bilddatei?

Der zentrale OCR-Workflow umfasst drei Objekte: IronTesseract (die Engine), OcrInput (den Eingabecontainer) und OcrResult (die Ausgabe). Das folgende Beispiel liest eine PNG-Datei und gibt den erkannten Text in der Konsole aus.

using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
input.LoadImage("sample-document.png");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
input.LoadImage("sample-document.png");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

Ausgabe der optischen Zeichenerkennung

OCR in C# CodeProject Tutorial: Text aus Bildern extrahieren mit IronOCR: Bild 1 - Screenshot der OCR-Ausgabe

IronTesseract umschließt die Tesseract 5-Engine mit .NET-freundlichen Standardeinstellungen und automatischer Modellverwaltung. OcrInput.LoadImage akzeptiert PNG-, JPEG-, BMP-, GIF-, TIFF- und WebP-Dateien, sodass Sie die Formate nur selten konvertieren müssen, bevor Sie ein Bild an die Engine übergeben.

Die Eigenschaft OcrResult.Text gibt eine einfache Zeichenkette zurück, die aus allen erkannten Zeichen besteht und durch Zeilenumbrüche getrennt ist. Für einen umfassenderen Zugriff – Wortbegrenzungsrahmen, Konfidenzwerte, Text pro Absatz – navigieren Sie durch die Sammlungen result.Pages, result.Paragraphs, result.Words und result.Characters.

Wichtige Eigenschaften, die man kennen sollte:

  • result.Pages[0].Text -- Text von einer einzelnen Seite
  • result.Words[n].Text und result.Words[n].Confidence -- Genauigkeit pro Wort (0,0 -- 1,0)
  • result.Pages[0].Paragraphs -- Absatzsegmentierung für strukturierte Extraktion

Sie können auch ocr.ReadAsync(input) aufrufen, um den UI-Thread in Desktop- oder Webanwendungen freizuhalten.

Wie verarbeiten Sie gescannte Dokumente und TIFF-Dateien?

Mehrseitige TIFF-Dateien sind in Dokumentenscanning-Workflows weit verbreitet. IronOCR verarbeitet sie mit LoadImageFrames, wodurch Sie genau auswählen können, welche Frames (Seiten) verarbeitet werden sollen – nützlich, wenn Sie nur eine Teilmenge eines großen Archivs benötigen.

using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
int[] pageIndices = { 0, 1, 2 };
input.LoadImageFrames("scanned-documents.tiff", pageIndices);

// Correct skew and remove noise before reading
input.Deskew();
input.DeNoise();

OcrResult result = ocr.Read(input);

foreach (var page in result.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}:");
    Console.WriteLine(page.Text);
}
using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
int[] pageIndices = { 0, 1, 2 };
input.LoadImageFrames("scanned-documents.tiff", pageIndices);

// Correct skew and remove noise before reading
input.Deskew();
input.DeNoise();

OcrResult result = ocr.Read(input);

foreach (var page in result.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}:");
    Console.WriteLine(page.Text);
}
$vbLabelText   $csharpLabel

OCR-Ausgabe aus mehrseitiger TIFF-Datei

OCR in C# CodeProject Tutorial: Text aus Bildern extrahieren mit IronOCR: Bild 2 - Mehrseitige TIFF-OCR-Ausgabe

Deskew dreht das Bild, um eventuelle durch Flachbettscanner verursachte Verkippungen zu korrigieren. DeNoise entfernt Flecken und JPEG-Artefakte, die die Tesseract-Engine beeinträchtigen. Zusammen verbessern diese beiden Vorverarbeitungsfilter die Erkennungsgenauigkeit bei Scans mit geringer Qualität deutlich.

Zusätzliche OcrInput Filter für schwieriges Quellmaterial verfügbar:

  • input.Sharpen() -- erhöht den Kantenkontrast für unscharfe Bilder
  • input.Binarize() -- wandelt Dokumente in Schwarzweiß für Faxqualität um
  • input.Scale(200) -- Skaliert kleine Bilder hoch, um eine bessere Zeichentrennung zu erzielen.
  • input.Rotate(90) -- korrigiert gedrehte Dokumentausrichtungen

Eine vollständige Liste der Vorverarbeitungsoptionen und deren Anwendungszeitpunkte finden Sie im IronOCR Bildfilterleitfaden .

Wie konfiguriert man die Sprachunterstützung für OCR?

IronOCR liest standardmäßig englischen Text. Um Dokumente in anderen Sprachen zu verarbeiten, installieren Sie das entsprechende Sprach- NuGet Paket und legen Sie die Language-Eigenschaft für die IronTesseract-Instanz fest.

dotnet add package IronOcr.Languages.German
dotnet add package IronOcr.Languages.French
dotnet add package IronOcr.Languages.Japanese
dotnet add package IronOcr.Languages.German
dotnet add package IronOcr.Languages.French
dotnet add package IronOcr.Languages.Japanese
SHELL

Konfigurieren Sie anschließend die Engine und fügen Sie für zweisprachige Dokumente eine zweite Sprache hinzu:

using IronOcr;
using IronOcr.Languages;

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.German;

// For bilingual documents (e.g. Canadian forms, EU directives)
ocr.AddSecondaryLanguage(OcrLanguage.French);

using var input = new OcrInput();
input.LoadImage("german-invoice.png");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
using IronOcr.Languages;

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.German;

// For bilingual documents (e.g. Canadian forms, EU directives)
ocr.AddSecondaryLanguage(OcrLanguage.French);

using var input = new OcrInput();
input.LoadImage("german-invoice.png");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

IronOCR unterstützt über 125 Sprachen , die jeweils als separates, schlankes NuGet Paket bereitgestellt werden. Dadurch bleibt Ihre Produktionsbinärdatei klein – es werden nur die Sprachdaten aufgenommen, die Ihre Anwendung tatsächlich benötigt. Die Engine kombiniert primäre und sekundäre Sprachmodelle während der Spracherkennung, wenn Sie AddSecondaryLanguage aufrufen.

Wie geht man mit OCR-Fehlern um und verbessert die Erkennungsergebnisse?

Produktionsanwendungen benötigen eine Fehlerbehandlung im Bereich der OCR-Pipeline. Probleme mit der Bildqualität, fehlende Dateien oder nicht unterstützte Formate können Ausnahmen verursachen. Durch das Einbetten des Aufrufs in einen try/catch-Block erhalten Sie einen sauberen Wiederherstellungspfad.

using IronOcr;

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;

try
{
    using var input = new OcrInput();
    input.LoadImage("document.png");
    input.DeNoise();
    input.Deskew();

    OcrResult result = ocr.Read(input);

    if (result.Text.Length > 0)
    {
        Console.WriteLine("Recognised text:");
        Console.WriteLine(result.Text);
    }
    else
    {
        Console.WriteLine("No text was detected in the image.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"OCR error: {ex.Message}");
}
using IronOcr;

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;

try
{
    using var input = new OcrInput();
    input.LoadImage("document.png");
    input.DeNoise();
    input.Deskew();

    OcrResult result = ocr.Read(input);

    if (result.Text.Length > 0)
    {
        Console.WriteLine("Recognised text:");
        Console.WriteLine(result.Text);
    }
    else
    {
        Console.WriteLine("No text was detected in the image.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"OCR error: {ex.Message}");
}
$vbLabelText   $csharpLabel

Einige zusätzliche Einstellungen, die helfen, wenn die Genauigkeit geringer als erwartet ist:

  • ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto -- ermöglicht es Tesseract, automatisch zwischen einspaltigem, mehrspaltigem und einwortigem Layout zu wählen.
  • ocr.Configuration.ReadBarCodes = false -- Deaktiviert die Barcode-Erkennung, wenn Sie reine Textdokumente verarbeiten und einen schnelleren Durchsatz wünschen.
  • ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5 -- stellt sicher, dass Sie die schnellste verfügbare Engine verwenden.

Bei strukturierten Formularen, bei denen die Felder an vorhersehbaren Positionen erscheinen, sollte die regionenbasierte OCR verwendet werden, um nur die relevanten Bereiche zu lesen:

using IronOcr;
using IronSoftware.Drawing;

var ocr = new IronTesseract();

using var input = new OcrInput();
var region = new CropRectangle(x: 50, y: 200, width: 600, height: 100);
input.LoadImage("form.png", region);

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
using IronSoftware.Drawing;

var ocr = new IronTesseract();

using var input = new OcrInput();
var region = new CropRectangle(x: 50, y: 200, width: 600, height: 100);
input.LoadImage("form.png", region);

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

Durch die Beschränkung der Bilderkennung auf einen Bildausschnitt verkürzt sich die Verarbeitungszeit bei großen Bildern um bis zu 90 Prozent. Diese Technik eignet sich gut zum Extrahieren von Rechnungsnummern, zum Auslesen von Formularfeldern und zum Scannen von Ausweisdokumenten. Weitere Details finden Sie im regionalen OCR-Leitfaden .

Wie erstellt man aus erkanntem Text eine durchsuchbare PDF-Datei?

Die Umwandlung gescannter Bildarchive in durchsuchbare PDF-Dateien ist einer der wertvollsten Anwendungsfälle für OCR. Die resultierende Datei bewahrt das ursprüngliche visuelle Erscheinungsbild und bettet gleichzeitig eine unsichtbare Textebene ein, die von PDF-Viewern, Suchmaschinen und Bildschirmleseprogrammen indexiert werden kann.

using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
input.Title = "Quarterly Report Q1 2026";
input.LoadImage("page1.png");
input.LoadImage("page2.png");
input.LoadImage("page3.png");

OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");

Console.WriteLine("Searchable PDF created.");
Console.WriteLine($"Pages processed: {result.Pages.Count}");
using IronOcr;

var ocr = new IronTesseract();

using var input = new OcrInput();
input.Title = "Quarterly Report Q1 2026";
input.LoadImage("page1.png");
input.LoadImage("page2.png");
input.LoadImage("page3.png");

OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");

Console.WriteLine("Searchable PDF created.");
Console.WriteLine($"Pages processed: {result.Pages.Count}");
$vbLabelText   $csharpLabel

Ausgabe eines durchsuchbaren PDF-Dokuments

OCR in C# CodeProject Tutorial: Text aus Bildern extrahieren mit IronOCR: Bild 3 - Durchsuchbares PDF aus Eingabebildern erstellt

SaveAsSearchablePdf schreibt eine PDF/A-kompatible Datei, in der jedes erkannte Wort an den exakten Pixelkoordinaten des Originalbildes platziert wird. Adobe Acrobat, Vorschau unter macOS und Foxit Reader unterstützen alle die Volltextsuche in diesen Dateien unmittelbar nach deren Erstellung.

Für webbasierte Dokumentenbetrachter oder nachgelagerte NLP-Pipelines verwenden Sie stattdessen result.SaveAsHocrFile("output.hocr"). Das hOCR-Format ist ein offener XML-Standard, der neben dem Text auch Begrenzungsrahmen für jedes Wort kodiert und so clientseitige Hervorhebung bei der Suche sowie Barrierefreiheitsanmerkungen auf Wortebene ermöglicht.

Weitere Ausgabeformate sind verfügbar unter OcrResult:

  • result.SaveAsHocrFile("output.hocr") -- hOCR XML mit Positionsdaten
  • result.ToXDocument() -- LINQ-abfragefähiges XDocument zur programmatischen Verarbeitung
  • result.Pages[0].Text -- Klartext pro Seite für Streaming-Pipelines

Bei Anwendungen, die bereits mit IronPDF arbeiten, können Sie OcrResult direkt in PDF-Generierungs-Workflows einbinden und so die OCR-Extraktion mit der PDF-Bearbeitung in einem einzigen .NET Prozess kombinieren.

Wie liest man Barcodes zusammen mit Text?

IronOCR kann Barcodes und QR-Codes lesen, die in dasselbe Bild wie gedruckter Text eingebettet sind, wodurch die Notwendigkeit entfällt, eine separate Barcode-Bibliothek zu verwenden. Aktivieren Sie die Funktion mit einer einzigen Konfigurationseigenschaft:

using IronOcr;

var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;

using var input = new OcrInput();
input.LoadImage("shipping-label.png");

OcrResult result = ocr.Read(input);

Console.WriteLine("Text:");
Console.WriteLine(result.Text);

Console.WriteLine("Barcodes:");
foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"  {barcode.Format}: {barcode.Value}");
}
using IronOcr;

var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;

using var input = new OcrInput();
input.LoadImage("shipping-label.png");

OcrResult result = ocr.Read(input);

Console.WriteLine("Text:");
Console.WriteLine(result.Text);

Console.WriteLine("Barcodes:");
foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"  {barcode.Format}: {barcode.Value}");
}
$vbLabelText   $csharpLabel

Unterstützte Barcode-Formate sind Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E, PDF417, Data Matrix und QR-Code. Alle Details finden Sie im IronOCR Leitfaden zum Lesen von Barcodes .

Diese Funktion ist besonders nützlich in den Bereichen Logistik, Gesundheitswesen und Einzelhandel, wo Versandetiketten, Patientenarmbänder und Produktanhänger sowohl für Menschen lesbaren Text als auch maschinenlesbare Barcodes enthalten.

Wie vergleicht man IronOCR mit anderen .NET OCR-Optionen?

Entwickler, die OCR-Bibliotheken for .NET evaluieren, ziehen typischerweise IronOCR, Tesseract .NET und Cloud-Dienste wie Google Cloud Vision oder Azure Computer Vision in Betracht. Die folgenden Tabellen fassen die wichtigsten Unterschiede zusammen:

Vergleich der .NET OCR-Optionen anhand wichtiger Entwicklerkriterien
Kriterium IronOCR Tesseract.NET Azure Computer Vision
Bereitstellung Vor Ort oder in der Cloud, keine externen Anrufe Vor Ort Nur in der Cloud, Internetverbindung erforderlich
Installation Einzelnes NuGet -Paket Mehrere Pakete + native Binärdateien SDK + Azure-Abonnement
Sprachpakete Mehr als 125 über NuGet -Pakete Manueller Tessdata-Download Verwaltet von Azure
Durchsuchbare PDF-Ausgabe Eingebauter Methodenaufruf Nicht enthalten Nicht enthalten
Bildvorverarbeitung 12+ integrierte Filter Manuelles Pre-Processing erforderlich Automatisch (serverseitig)
Preismodell Einmalige unbefristete Lizenz Open Source (Apache 2.0) Abrechnung pro Anruf

Tesseract , das von Google als Open-Source-Projekt gepflegt wird, bildet die Grundlage sowohl von IronOCR als auch von Tesseract .NET . IronOCR bietet .NET-idiomatische Paketierung, automatisches Modellmanagement und die Produktionsausgabefunktionen (durchsuchbares PDF, hOCR-Export), die bei den reinen Tesseract-Bindungen fehlen. Azure Computer Vision bietet zwar höchste Genauigkeit in der Cloud, führt aber zu Netzwerklatenz und Kosten pro Aufruf, die für Workflows mit hohem Datenvolumen oder Offline-Nutzung ungeeignet sind.

Für Szenarien, in denen Datenschutzbestimmungen das Senden von Dokumenten an externe Dienste verbieten – z. B. Krankenakten, Rechtsdokumente, Finanzberichte – ist eine lokale Bibliothek wie IronOCR die richtige Wahl.

Was sind Ihre nächsten Schritte?

Sie verfügen nun über die Bausteine, um OCR zu jeder .NET 10-Anwendung hinzuzufügen: Installation über NuGet, grundlegende Bild-zu-Text-Extraktion, Verarbeitung mehrseitiger TIFF-Dateien, Sprachkonfiguration, Fehlerbehandlung, regionenbasiertes Lesen, Barcode-Erkennung und Generierung durchsuchbarer PDFs.

Um tiefer in die Materie einzutauchen, erkunden Sie diese IronOCR Ressourcen:

Bei Fragen zur Lizenzierung oder zur Bereitstellung von IronOCR in einer Produktionsumgebung besuchen Sie die IronOCR Lizenzierungsseite . Eine kostenlose Testlizenz entfernt während Ihres Testzeitraums die Ausgabewasserzeichen, und das Support-Team von Iron Software steht Ihnen in jeder Stufe für technische Fragen zur Verfügung.

Starten Sie jetzt mit IronOCR.
green arrow pointer

Häufig gestellte Fragen

Was ist OCR und welchen Nutzen hat es für C#-Entwickler?

OCR (Optical Character Recognition) wandelt Dokumente wie Scans, PDFs oder Bilder in bearbeitbare und durchsuchbare Daten um. Für C#-Entwickler vereinfacht OCR die Dokumentenverarbeitung, indem es Anwendungen ermöglicht, Text aus Bildern und Scans zu extrahieren und so die Datenzugänglichkeit und -nutzbarkeit zu verbessern.

Wie implementiert man OCR in einem C#-Projekt?

Sie implementieren OCR in einem C#-Projekt, indem Sie das IronOCR NuGet Paket installieren, eine IronTesseract-Instanz erstellen, ein Bild in OcrInput laden und die Read-Methode aufrufen. Das zurückgegebene OcrResult enthält den extrahierten Text und die Positionsdaten für jedes Wort.

Welche Bildformate werden von IronOCR unterstützt?

IronOCR unterstützt die Bildformate PNG, JPEG, BMP, GIF, TIFF und WebP. Dadurch können Sie mit den gängigsten Bildtypen arbeiten, ohne die Dateien vor der Verarbeitung konvertieren zu müssen.

Kann IronOCR mehrseitige TIFF-Dateien verarbeiten?

Ja, IronOCR kann mehrseitige TIFF-Dateien verarbeiten. Verwenden Sie LoadImageFrames mit einem Array von Seitenindizes, um bestimmte Frames zu verarbeiten, und iterieren Sie über result.Pages, um auf den Text jeder einzelnen Seite zuzugreifen.

Ist es möglich, mit IronOCR Text aus einem bestimmten Bereich eines Bildes zu extrahieren?

Ja, übergeben Sie ein CropRectangle an LoadImage, um die OCR auf einen definierten Bereich zu beschränken. Dies reduziert die Verarbeitungszeit erheblich und ist nützlich, um bestimmte Felder aus Formularen, Rechnungen und Ausweisdokumenten zu extrahieren.

Unterstützt IronOCR verschiedene Sprachen für die Textextraktion?

IronOCR unterstützt über 125 Sprachen, die jeweils als separates NuGet Paket verfügbar sind. Legen Sie die Language-Eigenschaft von IronTesseract fest und rufen Sie AddSecondaryLanguage für zweisprachige Dokumente auf.

Welche Vorteile bietet IronOCR im Vergleich zu reinem Tesseract .NET?

IronOCR erweitert die Tesseract-Engine um .NET-idiomatische Paketierung, automatische Sprachmodellverwaltung, integrierte Bildvorverarbeitungsfilter, durchsuchbare PDF-Ausgabe und hOCR-Export. All dies ist über ein einziges NuGet Paket ohne manuelle native Binärverwaltung zugänglich.

Wie kann IronOCR die Genauigkeit der Texterkennung verbessern?

IronOCR bietet Vorverarbeitungsfilter – Deskew, DeNoise, Sharpen, Binarize, Scale und Rotate –, die häufige Scanfehler korrigieren, bevor die Tesseract-Engine das Bild verarbeitet, und so die Erkennungsgenauigkeit bei minderwertigem Quellmaterial verbessern.

Kann IronOCR Barcodes und QR-Codes lesen?

Ja, setzen Sie `ocr.Configuration.ReadBarCodes = true`, um Barcodes und QR-Codes zusammen mit Text im selben Bild zu erkennen. Die Ergebnisse sind in `OcrResult.Barcodes` mit Formattyp und dekodiertem Wert verfügbar.

Was sind gängige Anwendungsfälle für IronOCR in C#-Anwendungen?

IronOCR wird in Dokumentenmanagementsystemen, der Extraktion von Rechnungs- und Belegdaten, der Erstellung durchsuchbarer PDFs aus gescannten Archiven, dem Auslesen von Formularfeldern, der Verarbeitung von Versandetiketten, der Digitalisierung von Gesundheitsdatensätzen und in Barrierefreiheitstools eingesetzt.

Kannaopat Udonpant
Software Ingenieur
Bevor er Software-Ingenieur wurde, absolvierte Kannapat ein PhD in Umweltressourcen an der Hokkaido University in Japan. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Fakultät für Bioproduktionstechnik ist. Im Jahr 2022 nutzte er seine C#-Kenntnisse, um dem Engineering-Team von Iron Software ...
Weiterlesen

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an