IRONSOFTWAREHOME

OCR italiano in C# e .NET

Curtis Chau
Curtis Chau
Updated: 9 Mayıs 2026
Altre versioni di questo documento:

IronOCR è un componente software C# che consente ai programmatori .NET di leggere testo da immagini e documenti PDF in 126 lingue, incluso l'italiano.

È un fork avanzato di Tesseract, costruito esclusivamente per gli sviluppatori .NET e supera regolarmente gli altri motori Tesseract sia per velocità che per precisione.

Contenuti di IronOcr.Languages.Italian

Questo pacchetto contiene 99 lingue OCR per .NET:

  • italiano
  • ItalianBest
  • ItalianFast
  • ItalianoVecchio
  • ItalianOldBest
  • ItalianOldFast

Scarica

Pacchetto lingua italiana [italiano]

Installazione

La prima cosa che dobbiamo fare è installare il nostro pacchetto OCR italiano nel tuo progetto .NET.

PM > Install-Package IronOcr.Languages.Italian

Esempio di codice

Questo esempio di codice C# legge il testo italiano da un'immagine o un documento PDF.

// Importa la libreria IronOcr
using IronOcr;

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Utilizza un file immagine come input
using (var Input = new OcrInput(@"images\Italian.png"))
{
    // Leggi l'immagine
    var Result = Ocr.Read(Input);

    // Ottieni tutto il testo dall'immagine
    var AllText = Result.Text;
    // Stampa il testo ottenuto
    Console.WriteLine(AllText);
}

Perché scegliere IronOCR?

IronOCR è una libreria di software .NET facile da installare, completa e ben documentata.

Scegli IronOCR per ottenere una precisione OCR superiore al 99,8% senza utilizzare servizi Web esterni, tariffe correnti o inviare documenti riservati su Internet.

Perché gli sviluppatori C# scelgono IronOCR su Vanilla Tesseract:

  • Installa come una singola DLL o NuGet
  • Include per Tesseract 5, 4 e 3 motori fuori dalla scatola.
  • La precisione del 99,8% supera in modo significativo il normale Tesseract.
  • Velocità incredibile e MultiThreading
  • Compatibile con MVC, WebApp, desktop, console e applicazioni server
  • Nessun codice Exes o C ++ con cui lavorare
  • Supporto completo per PDF OCR
  • Per eseguire l'OCR in quasi tutti i file immagine o PDF
  • Supporto completo .NET Core, Standard e FrameWork
  • Distribuisci su Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Leggi codici a barre e codici QR
  • Esporta OCR come XHTML
  • Esporta OCR in documenti PDF ricercabili
  • Supporto multithreading
  • 126 lingue internazionali tutte gestite tramite file NuGet o OcrData
  • Estrai immagini, coordinate, statistiche e caratteri. Non solo testo.
  • Può essere utilizzato per ridistribuire Tesseract OCR all'interno di applicazioni commerciali e proprietarie.

IronOCR brilla quando si lavora con immagini del mondo reale e documenti imperfetti come fotografie o scansioni a bassa risoluzione che possono presentare disturbi o imperfezioni digitali.

Altre librerie OCR gratuite per la piattaforma .NET, come altre API .NET Tesseract e servizi web, non funzionano così bene in questi casi d'uso del mondo reale.

OCR con Tesseract 5 - Inizia la codifica in C#

L'esempio di codice riportato di seguito mostra quanto sia facile leggere il testo da un'immagine utilizzando C# o VB .NET.

OneLiner

using IronOcr;

// Legge il testo da un'immagine in un'unica riga di codice
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;

Hello World configurabile

// Importa la libreria IronOcr
using IronOcr;

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Utilizza un file immagine come input
using (var Input = new OcrInput())
{
    // Aggiunge l'immagine al processo OCR
    Input.AddImage("images/sample.jpeg");
    //... puoi aggiungere un numero qualsiasi di immagini
    // Leggi l'immagine
    var Result = Ocr.Read(Input);

    // Stampa il testo ottenuto
    Console.WriteLine(Result.Text);
}

OCR PDF in C#

Lo stesso approccio può essere utilizzato in modo simile per estrarre il testo da qualsiasi documento PDF.

using IronOcr;

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Utilizza un file PDF come input
using (var input = new OcrInput())
{
    // Aggiunge il PDF specificando una password, se necessario
    input.AddPdf("example.pdf", "password");
    // Possiamo anche selezionare numeri di pagina PDF specifici per l'OCR

    // Leggi il PDF
    var Result = Ocr.Read(input);

    // Stampa il testo ottenuto e il numero di pagine
    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
    // 1 pagina per ogni pagina del PDF
}

OCR per TIFF multipagina

OCR Lettura del formato di file TIFF che include documenti a più pagine. TIFF può anche essere convertito direttamente in un file PDF con testo ricercabile.

using IronOcr;

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Utilizza un file TIFF multipagina come input
using (var Input = new OcrInput())
{
    // Aggiunge il TIFF multipagina al processo
    Input.AddMultiFrameTiff("multi-frame.tiff");
    // Leggi il TIFF multipagina
    var Result = Ocr.Read(Input);

    // Stampa il testo ottenuto
    Console.WriteLine(Result.Text);
}

Codici a barre e QR

Una caratteristica unica di IronOCR è che può leggere codici a barre e codici QR dai documenti durante la scansione del testo. Le istanze della classe OcrResult.OcrBarcode forniscono allo sviluppatore informazioni dettagliate su ogni codice a barre scansionato.

using IronOcr;

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Configura IronTesseract per leggere i codici a barre
Ocr.Configuration.ReadBarCodes = true;

// Utilizza un file immagine come input
using (var input = new OcrInput())
{
    // Aggiunge l'immagine al processo
    input.AddImage("img/Barcode.png");

    // Leggi l'immagine
    var Result = Ocr.Read(input);

    // Scorri tutti i codici a barre trovati e stampali
    foreach (var Barcode in Result.Barcodes)
    {
        Console.WriteLine(Barcode.Value);
        // Può anche stampare tipo e posizione del barcode
    }
}

OCR su aree specifiche delle immagini

Tutti i metodi di scansione e lettura di IronOCR forniscono la capacità di specificare esattamente da quale parte di una pagina o pagine desideriamo leggere il testo. Questo è molto utile quando stiamo esaminando moduli standardizzati e può far risparmiare un sacco di tempo e migliorare l'efficienza.

Per utilizzare le aree di ritaglio, sarà necessario aggiungere un riferimento di sistema a System.Drawing modo da poter utilizzare l'oggetto System.Drawing.Rectangle.

using IronOcr;
using System.Drawing; // Aggiunta necessaria per utilizzare il rectangle

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Utilizza un file immagine come input con area specifica
using (var Input = new OcrInput())
{
    // Definisci l'area di contenuto che desideri leggere
    var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

    // Aggiunge l'area specificata al processo
    Input.Add("document.png", ContentArea);

    // Leggi il documento
    var Result = Ocr.Read(Input);

    // Stampa il testo ottenuto
    Console.WriteLine(Result.Text);
}

OCR per scansioni di bassa qualità

La classe IronOCR OcrInput può correggere scansioni che il normale Tesseract non è in grado di leggere.

using IronOcr;

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Utilizza un'immagine di bassa qualità come input
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
    // Applica filtri per migliorare la qualità dell'immagine
    Input.DeNoise(); // Risolve il rumore digitale e la cattiva qualità della scansione
    Input.Deskew(); // Risolve la rotazione e la prospettiva

    // Leggi l'immagine
    var Result = Ocr.Read(Input);

    // Stampa il testo ottenuto
    Console.WriteLine(Result.Text);
}

Esporta i risultati dell'OCR come PDF ricercabile

Immagine in PDF con stringhe di testo copiabili. Può essere indicizzato da motori di ricerca e database.

using IronOcr;

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Utilizza un insieme di immagini come input
using (var Input = new OcrInput())
{
    // Imposta il titolo per l'output PDF
    Input.Title = "Quarterly Report";
    // Aggiunge immagini al processo
    Input.AddImage("image1.jpeg");
    Input.AddImage("image2.png");
    Input.AddImage("image3.gif");

    // Leggi il contenuto delle immagini
    var Result = Ocr.Read(Input);

    // Salva i risultati come un PDF ricercabile
    Result.SaveAsSearchablePdf("searchable.pdf");
}

Conversione da TIFF a PDF ricercabile

Converti un documento TIFF (o qualsiasi gruppo di file immagine) direttamente in un PDF ricercabile che può essere indicizzato da intranet, sito web e motori di ricerca Google.

using IronOcr;

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Utilizza un file TIFF multipagina come input
using (var Input = new OcrInput())
{
    // Aggiunge il TIFF multipagina al processo
    Input.AddMultiFrameTiff("example.tiff");

    // Leggi il TIFF multipagina e salva come PDF ricercabile
    var Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");
}

Esporta i risultati dell'OCR come HTML

Conversione da immagine OCR a XHTML.

using IronOcr;

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Utilizza un file immagine come input
using (var Input = new OcrInput())
{
    // Imposta il titolo per l'output HTML
    Input.Title = "Html Title";
    // Aggiunge l'immagine al processo
    Input.AddImage("image1.jpeg");

    // Leggi l'immagine
    var Result = Ocr.Read(Input);

    // Salva i risultati come file HTML
    Result.SaveAsHocrFile("results.html");
}

Filtri di miglioramento delle immagini OCR

IronOCR fornisce filtri unici per OcrInput oggetti OcrInput per migliorare le prestazioni OCR.

Esempio di codice di miglioramento dell'immagine

Rende le immagini in ingresso OCR di qualità superiore per produrre risultati OCR migliori e più veloci.

using IronOcr;

// Crea un'istanza di IronTesseract
var Ocr = new IronTesseract();

// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Utilizza un'immagine di bassa qualità come input
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
    // Applica filtri per migliorare la qualità dell'immagine
    Input.DeNoise(); // Risolve il rumore digitale e la cattiva qualità della scansione
    Input.Deskew(); // Risolve la rotazione e la prospettiva

    // Leggi l'immagine
    var Result = Ocr.Read(Input);

    // Stampa il testo ottenuto
    Console.WriteLine(Result.Text);
}

Elenco dei filtri immagine OCR

I filtri di input per migliorare le prestazioni OCR incorporati in IronOCR includono:

  • OcrInput.Rotate (doppi gradi) - Ruota le immagini di un numero di gradi in senso orario. Per il senso antiorario, usa numeri negativi.
  • OcrInput.Binarize () - Questo filtro immagine trasforma ogni pixel in bianco o nero senza una via di mezzo. Può migliorare le prestazioni dell'OCR nei casi di contrasto molto basso del testo con lo sfondo.
  • OcrInput.ToGrayScale () - Questo filtro immagine trasforma ogni pixel in una sfumatura di scala di grigi. È improbabile che migliori la precisione dell'OCR, ma può aumentare la velocità.
  • OcrInput.Contrast () - Aumenta automaticamente il contrasto. Questo filtro spesso migliora la velocità e la precisione dell'OCR nelle scansioni a basso contrasto.
  • OcrInput.DeNoise () - Rimuove il rumore digitale. Questo filtro deve essere utilizzato solo dove è previsto il rumore.
  • OcrInput.Invert () - Inverte ogni colore. Ad esempio, il bianco diventa nero: il nero diventa bianco.
  • OcrInput.Dilate () - Morfologia avanzata. La dilatazione aggiunge pixel ai bordi degli oggetti in un'immagine. Opposto di Erode.
  • OcrInput.Erode () - Morfologia avanzata. L'erosione rimuove i pixel sui contorni dell'oggetto, opposto a Dilata.
  • OcrInput.Deskew () - Ruota un'immagine in modo che sia verso l'alto e ortogonale. Ciò è molto utile per l'OCR perché la tolleranza di Tesseract per le scansioni oblique può essere di soli 5 gradi.
  • OcrInput.DeepCleanBackgroundNoise () - Rimozione del rumore di fondo pesante. Utilizzare questo filtro solo nel caso in cui sia noto un rumore di fondo eccessivo del documento, poiché questo filtro rischierà anche di ridurre l'accuratezza dell'OCR dei documenti puliti ed è molto costoso per la CPU.
  • OcrInput.EnhanceResolution - Migliora la risoluzione delle immagini di bassa qualità. Questo filtro spesso non è necessario perché OcrInput.MinimumDPI e OcrInput.TargetDPI rileveranno e risolveranno automaticamente gli input a bassa risoluzione.

CleanBackgroundNoise. Questa è un'impostazione che richiede un po' di tempo; tuttavia, consente alla libreria di pulire automaticamente il rumore digitale, le pieghe della carta e altre imperfezioni all'interno di un'immagine digitale che altrimenti la renderebbero incapace di essere letta da altre librerie OCR.

EnhanceContrast è un'impostazione che fa sì che IronOCR aumenti automaticamente il contrasto del testo sullo sfondo di un'immagine, aumentando la precisione dell'OCR e in generale aumentando le prestazioni e la velocità dell'OCR.

EnhanceResolution è un'impostazione che rileva automaticamente le immagini a bassa risoluzione (che sono inferiori a 275 dpi) e migliora automaticamente l'immagine e quindi affina tutto il testo in modo che possa essere letto perfettamente da una libreria OCR. Sebbene questa operazione richieda di per sé molto tempo, generalmente riduce il tempo complessivo per un'operazione OCR su un'immagine.

Lingua IronOCR supporta 22 pacchetti di lingue internazionali e l'impostazione della lingua può essere utilizzata per selezionare una o più lingue multiple da applicare per un'operazione OCR.

Strategia IronOCR supporta due strategie. Possiamo scegliere di eseguire una scansione rapida e meno accurata di un documento o di utilizzare una strategia avanzata che utilizza alcuni modelli di intelligenza artificiale per migliorare automaticamente l'accuratezza del testo OCR osservando la relazione statistica tra le parole in una frase.

ColorSpace è un'impostazione in base alla quale possiamo scegliere di eseguire l'OCR in scala di grigi o a colori. Generalmente, la scala di grigi è l'opzione migliore. Tuttavia, a volte quando sono presenti testi o sfondi di tonalità simili ma colori molto diversi, uno spazio colore a colori fornisce risultati migliori.

DetectWhiteTextOnDarkBackgrounds. In generale, tutte le librerie OCR si aspettano di vedere il testo nero su sfondo bianco. Questa impostazione consente a IronOCR di rilevare automaticamente i negativi o le pagine scure con testo bianco e di leggerli.

InputImageType. Questa impostazione consente allo sviluppatore di guidare la libreria OCR per verificare se sta guardando un documento completo o uno snippet, come uno screenshot.

RotateAndStraighten è un'impostazione avanzata che consente a IronOCR la capacità unica di leggere documenti che non solo vengono ruotati, ma forse contengono prospettiva, come fotografie di documenti di testo.

ReadBarcodes è una funzione utile che consente a IronOCR di leggere automaticamente codici a barre e codici QR sulle pagine mentre legge anche il testo, senza aggiungere un grande onere di tempo aggiuntivo.

Profondità di colore. Questa impostazione determina il numero di bit per pixel che la libreria OCR utilizzerà per determinare la profondità di un colore. Una maggiore profondità di colore può aumentare la qualità OCR, ma aumenterà anche il tempo necessario per il completamento dell'operazione OCR.

126 Language Pack

IronOCR supporta 126 lingue internazionali tramite language pack distribuiti come DLL, che possono essere scaricati da questo sito Web o anche da NuGet Package Manager.

Le lingue includono tedesco, francese, inglese, cinese, giapponese e molte altre. Esistono language pack specialistici per passaporto MRZ, assegni MICR, dati finanziari, targhe e molti altri. Puoi anche utilizzare qualsiasi file Tesseract ".traineddata", inclusi quelli creati da te.

Esempio di lingua

Utilizzo di altre lingue OCR.

// Importa la libreria IronOcr
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();

// Imposta la lingua su Arabo
Ocr.Language = OcrLanguage.Arabic;

// Utilizza un file immagine come input
using (var input = new OcrInput())
{
    // Aggiunge l'immagine al processo OCR
    input.AddImage("img/arabic.gif");
    // Aggiungi filtri immagine se necessario
    // IronTesseract può leggere ciò che Tesseract convenzionale non può.

    // Leggi l'immagine
    var Result = Ocr.Read(input);

    // La console non può stampare facilmente l'arabo su Windows.
    // Salviamo invece su disco.
    Result.SaveAsTextFile("arabic.txt");
}

Esempio in più lingue

È anche possibile eseguire l'OCR utilizzando più lingue contemporaneamente. Questo può davvero aiutare a ottenere metadati e URL in lingua inglese nei documenti Unicode.

// Importa la libreria IronOcr
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();

// Imposta la lingua su Cinese semplificato
Ocr.Language = OcrLanguage.ChineseSimplified;

// Aggiunge una seconda lingua al processo OCR
Ocr.AddSecondaryLanguage(OcrLanguage.Italian);

// Possiamo aggiungere un numero qualsiasi di lingue
using (var input = new OcrInput())
{
    // Aggiunge il documento multilanguage al processo
    input.Add("multi-language.pdf");

    // Leggi il documento
    var Result = Ocr.Read(input);

    // Salva i risultati su disco
    Result.SaveAsTextFile("results.txt");
}

Oggetti risultati OCR dettagliati

IronOCR restituisce un oggetto risultato OCR per ciascuna operazione OCR. In genere, gli sviluppatori utilizzano solo la proprietà text di questo oggetto per ottenere la scansione del testo dall'immagine. Tuttavia, i risultati dell'OCR DOM sono molto più avanzati di così.

using IronOcr;
using System.Drawing; // Aggiungi riferimento all'assieme

var Ocr = new IronTesseract();
// Imposta la lingua su italiano
Ocr.Language = OcrLanguage.Italian;

// Configura la modalità del motore
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;

// Configura per leggere codici a barre
Ocr.Configuration.ReadBarCodes = true; // Importante

// Utilizza un file TIFF come input
using (var Input = new OcrInput(@"images\sample.tiff"))
{
    // Leggi il documento
    OcrResult Result = Ocr.Read(Input);

    // Ottieni le pagine del risultato
    var Pages = Result.Pages;
    // Ottieni le parole dalla prima pagina
    var Words = Pages[0].Words;

    // Ottieni i codici a barre dal risultato
    var Barcodes = Result.Barcodes;
    // Esplora qui per trovare un'API massiccia e dettagliata:
    // - Pagine, Blocchi, Paragrafi, Linee, Parole, Caratteri
    // - Esportazione di immagini, coordinate dei caratteri, dati statistici
}

Prestazione

IronOCR funziona fuori dagli schemi senza la necessità di ottimizzare le prestazioni o modificare pesantemente le immagini di input.

La velocità è incredibile: IronOCR.2020 + è fino a 10 volte più veloce e fa oltre il 250% di errori in meno rispetto alle build precedenti.

Per saperne di più

Per saperne di più sull'OCR in C#, VB, F# o qualsiasi altro linguaggio .NET, leggi i nostri tutorial della community, che forniscono esempi reali di come IronOCR può essere utilizzato e possono mostrare le sfumature di come ottenere il meglio da questa libreria.

È inoltre disponibile un riferimento completo agli oggetti per gli sviluppatori .NET.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 6,236,385Sürüm:2026.9yeni yayınlandı

Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. "IronOCR" aratıp seçin
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

veya buradan Windows Yükleyicisini indirin.

  1. IronOCR'u ~/Libs gibi bir yere indirip sıkıştırmasını açın, Çözüm dizininizde
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Gözat'ı seçin, "IronOCR.dll"

$999'dan itibaren lisanslar

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez