IRONSOFTWAREHOME

OCR català a C# i .NET

Curtis Chau
Curtis Chau
Updated: 2026年4月23日
Altres versions d'aquest document:

IronOCR és un component de programari C# que permet als codificadors .NET llegir text d’imatges i documents PDF en 126 idiomes, inclòs el català.

És una forquilla avançada de Tesseract, construïda exclusivament per als desenvolupadors de .NET i que supera regularment altres motors Tesseract tant per velocitat com per precisió.

Contingut d’IronOcr.Languages.Catalan

Aquest paquet conté 46 idiomes OCR per a .NET:

  • Català
  • CatalàMillor
  • CatalanFast

Descarregar

Paquet de llengua catalana [català]

Instal·lació

El primer que hem de fer és instal·lar el nostre paquet OCR en català al vostre projecte .NET.

PM > Install-Package IronOcr.Languages.Catalan

Exemple de codi

Aquest exemple de codi C# llegeix el text català d'un document Image o PDF.

// Install the IronOcr Catalan language package using NuGet
// PM> Install-Package IronOcr.Languages.Catalan
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Catalan
Ocr.Language = OcrLanguage.Catalan;

using (var Input = new OcrInput(@"images\Catalan.png"))
{
    // Read text from the input image
    var Result = Ocr.Read(Input);
    // Store the recognized text
    var AllText = Result.Text;
    Console.WriteLine(AllText);
}

Per què triar IronOCR?

IronOCR és una biblioteca de programari .NET fàcil d’instal·lar, completa i ben documentada. Trieu IronOCR per aconseguir una precisió del 99,8% + OCR sense utilitzar cap servei web extern, tarifes en curs ni enviar documents confidencials per Internet.

Per què els desenvolupadors de C# trien IronOCR sobre Vanilla Tesseract:

  • Instal·leu-la com a única DLL o NuGet
  • Inclou els motors Tesseract 5, 4 i 3 fora de la caixa.
  • La precisió del 99,8% supera significativament el Tesseract normal.
  • Velocitat increïble i MultiThreading
  • Compatible amb aplicacions MVC, WebApp, escriptori, consola i servidor
  • No hi ha codi Exes ni C ++ per treballar
  • Suport complet d’OCR en PDF
  • Per realitzar OCR gairebé qualsevol fitxer d'imatge o PDF
  • Suport complet .NET Core, Standard i Framework
  • Implementació a Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Llegiu codis de barres i codis QR
  • Exporteu OCR com a XHTML
  • Exporteu OCR a documents PDF que es poden cercar
  • Suport multithreading
  • 126 idiomes internacionals gestionats tots mitjançant fitxers NuGet o OcrData
  • Extreu imatges, coordenades, estadístiques i tipus de lletra. No només text.
  • Es pot utilitzar per redistribuir Tesseract OCR dins d'aplicacions comercials i propietàries.

L'OCR de ferro brilla quan es treballa amb imatges del món real i documents imperfectes com ara fotografies o escaneigs de baixa resolució que poden tenir sorolls o imperfeccions digitals.

Altres biblioteques OCR gratuïtes per a la plataforma .NET, com ara altres API i serveis web de Tesseract .NET, no funcionen tan bé en aquests casos d’ús del món real.

OCR amb Tesseract 5: inicia la codificació en C#

L'exemple de codi següent mostra la facilitat de llegir text d'una imatge amb C# o VB .NET.

OneLiner

// Perform a quick OCR on an image using IronTesseract
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Console.WriteLine(Text);

Configurable Hello World

// PM> Install-Package IronOcr.Languages.Catalan
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Catalan;

using (var Input = new OcrInput())
{
    // Add an image for OCR
    Input.AddImage("images/sample.jpeg");
    // ... podeu afegir qualsevol nombre d'imatges
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}

C# PDF OCR

El mateix enfocament es pot utilitzar de manera similar per extreure text de qualsevol document PDF.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Catalan;

using (var input = new OcrInput())
{
    // Add a PDF file, optionally encrypted with a password
    input.AddPdf("example.pdf", "password");
    // També podem seleccionar números de pàgines PDF específics per a OCR

    var Result = Ocr.Read(input);

    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
    // 1 pàgina per a cada pàgina del PDF
}

OCR per a TIFF MultiPage

Lectura OCR en format de fitxer TIFF que inclou documents de diverses pàgines. TIFF també es pot convertir directament en un fitxer PDF amb text de cerca.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Catalan;

using (var Input = new OcrInput())
{
    // Add a multi-frame TIFF for OCR
    Input.AddMultiFrameTiff("multi-frame.tiff");
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}

Codis de barres i QR

Una característica única de IronOCR és que pot llegir codis de barres i codis QR de documents mentre s’està cercant text. Les instàncies de la classe OcrResult.OcrBarcode proporcionen al desenvolupador informació detallada sobre cada codi de barres escanejat.

using IronOcr;

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

using (var input = new OcrInput())
{
    // Add an image that contains barcodes or QR codes
    input.AddImage("img/Barcode.png");
    var Result = Ocr.Read(input);

    foreach (var Barcode in Result.Barcodes)
    {
        Console.WriteLine(Barcode.Value);
        // també s’exposen propietats de tipus i ubicació
    }
}

OCR sobre àrees específiques d’imatges

Tots els mètodes de lectura i escaneig de IronOCR proporcionen la possibilitat d'especificar exactament de quina part d'una o més pàgines volem llegir text. Això és molt útil quan estem buscant formularis estandarditzats i pot estalviar molt de temps i millorar l’eficiència.

Per utilitzar les regions de cultiu, haurem d’afegir una referència del sistema a System.Drawing per poder utilitzar l’objecte System.Drawing.Rectangle.

using IronOcr;
using System.Drawing; // Add reference to System.Drawing

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Catalan;

using (var Input = new OcrInput())
{
    // Define the area from which to read the text
    var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
    // Les dimensions són en px

    Input.Add("document.png", ContentArea);

    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}

OCR per a escaneigs de baixa qualitat

La classe OcrInput IronOCR pot corregir les exploracions que Tesseract no sap llegir.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Catalan;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
    Input.DeNoise(); // Corrects digital noise and poor scans
    Input.Deskew();  // Fixes skewing and perspective issues
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}

Exporteu els resultats de l'OCR com a PDF de cerca

Imatge en PDF amb cadenes de text copiables. Pot ser indexat pels motors de cerca i les bases de dades.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Catalan;

using (var Input = new OcrInput())
{
    Input.Title = "Quarterly Report";
    Input.AddImage("image1.jpeg");
    Input.AddImage("image2.png");
    Input.AddImage("image3.gif");
    
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}

Conversió de PDF TIFF a la cerca

Converteix un document TIFF (o qualsevol grup de fitxers d’imatges) directament a un PDF que es pot cercar i que pot ser indexat per la intranet, el lloc web i els motors de cerca de Google.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Catalan;

using (var Input = new OcrInput())
{
    Input.AddMultiFrameTiff("example.tiff");
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}

Exporta els resultats de l'OCR com a HTML

Conversió de la imatge OCR a XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Catalan;
using (var Input = new OcrInput())
{
    Input.Title = "Html Title";
    Input.AddImage("image1.jpeg");
    var Result = Ocr.Read(Input);
    Result.SaveAsHocrFile("results.html");
}

Filtres de millora de la imatge OCR

IronOCR proporciona filtres únics per a objectes OcrInput per millorar el rendiment de l'OCR.

Exemple de codi de millora de la imatge

Augmenta la qualitat de les imatges d’entrada d’OCR per obtenir resultats OCR millors i més ràpids.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Catalan;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
    Input.DeNoise(); // Corrects digital noise and poor scans
    Input.Deskew();  // Fixes skewing and perspective issues
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}

Llista de filtres d’imatges OCR

Els filtres d'entrada per millorar el rendiment de l'OCR integrats a IronOCR inclouen:

  • OcrInput.Rotate(double degrees): Gira les imatges un nombre de graus en sentit horari. Per a les agulles del rellotge, utilitzeu números negatius.
  • OcrInput.Binarize(): Converteix cada píxel en blanc o negre sense un punt mig. Pot millorar els casos de rendiment de l'OCR amb un contrast molt baix del text amb el fons.
  • OcrInput.ToGrayScale(): Converteix cada píxel en un to d’escala de grisos. És poc probable que millori la precisió de l’OCR, però pot millorar la velocitat.
  • OcrInput.Contrast(): Augmenta el contrast automàticament. Aquest filtre sovint millora la velocitat i la precisió de l’OCR en els escaneigs de baix contrast.
  • OcrInput.DeNoise(): Elimina el soroll digital. Aquest filtre només s’ha d’utilitzar allà on s’espera un soroll.
  • OcrInput.Invert(): Inverteix tots els colors. Per exemple, el blanc es torna negre i el negre es torna blanc.
  • OcrInput.Dilate(): Morfologia avançada. Afegeix píxels als límits dels objectes d’una imatge. Contrari a Erode.
  • OcrInput.Erode(): Morfologia avançada. Elimina els píxels als límits de l'objecte. Opposite of Dilate.
  • OcrInput.Deskew(): Fa girar una imatge perquè sigui correcta cap amunt i ortogonal. Això és molt útil per a OCR perquè la tolerància de Tesseract per a exploracions esbiaixades pot arribar a ser de fins a 5 graus.
  • OcrInput.DeepCleanBackgroundNoise(): Eliminació de soroll de fons intens. Utilitzeu aquest filtre només en cas que es conegui un soroll extrem de fons del document, ja que aquest filtre també arriscarà a reduir la precisió OCR dels documents nets i és molt car per a la CPU.
  • OcrInput.EnhanceResolution: Millora la resolució d’imatges de baixa qualitat. Aquest filtre no és necessari sovint perquè OcrInput.MinimumDPI i OcrInput.TargetDPI capturaran i resoldran automàticament les entrades de baixa resolució.

CleanBackgroundNoise: Aquest és un paràmetre que requereix una mica de temps; tanmateix, permet a la biblioteca netejar automàticament sorolls digitals, arrugats de paper i altres imperfeccions dins d'una imatge digital que, en cas contrari, la impossibilitarien de ser llegida per altres biblioteques OCR.

EnhanceContrast: Augmenta automàticament el contrast del text sobre el fons d’una imatge, millorant l’eficiència del OCR i generalment augmentant el rendiment i la velocitat de l’OCR.

EnhanceResolution: Detecta automàticament les imatges de baixa resolució (que són inferiors a 275 dpi) i augmenta automàticament la imatge, afina tot el text perquè una biblioteca OCR pugui llegir-la perfectament. Tot i que aquesta operació consumeix molt de temps, en general redueix el temps global per a una operació OCR en una imatge.

Language: IronOCR admet 22 paquets d'idiomes internacionals i la configuració d'idioma es pot utilitzar per seleccionar un o més idiomes múltiples que s'aplicaran per a una operació OCR.

Strategy: IronOCR admet dues estratègies. Podem optar per escanejar un document de forma ràpida i menys precisa o utilitzar una estratègia avançada que utilitzi alguns models d’intel·ligència artificial per millorar automàticament la precisió del text d’OCR mirant la relació estadística de les paraules entre si en una frase.

ColorSpace: Podem optar per OCR en escala de grisos o color. En general, l’escala de grisos és la millor opció. No obstant això, de vegades, quan hi ha textos o fons de tonalitat similar però de color molt diferent, un espai de color a tot color proporcionarà millors resultats.

DetectWhiteTextOnDarkBackgrounds: En general, totes les biblioteques OCR esperen veure text negre sobre fons blancs. Aquest paràmetre permet a IronOCR detectar automàticament negatius o pàgines fosques amb text en blanc i llegir-los.

InputImageType: Aquest paràmetre permet al desenvolupador guiar la biblioteca OCR sobre si busca un document complet o un fragment, com ara una captura de pantalla.

RotateAndStraighten: Un paràmetre avançat que permet a IronOCR la capacitat única de llegir documents que no només es giren, sinó que potser contenen perspectiva, com ara fotografies de documents de text.

ReadBarcodes: Permet a IronOCR llegir automàticament codis de barres i codis QR a les pàgines, mentre que també llegeix text, sense afegir una càrrega de temps addicional.

ColorDepth: Determina quants bits per píxel utilitzarà la biblioteca OCR per determinar la profunditat d'un color. Una profunditat de color més alta pot augmentar la qualitat de l'OCR, però també augmentarà el temps necessari per completar l'operació de l'OCR.

126 paquets d'idiomes

IronOCR admet 126 idiomes internacionals mitjançant paquets d’idiomes que es distribueixen en format DLL, que es poden descarregar des d’aquest lloc web o també des del gestor de paquets NuGet.

Els idiomes inclouen alemany, francès, anglès, xinès, japonès i molts més. Hi ha paquets d'idiomes especialitzats per a passaports MRZ, xecs MICR, dades financeres, matrícules i molts altres. També podeu utilitzar qualsevol fitxer Tesseract ".traineddata", inclosos els que creeu vosaltres mateixos.

Exemple d’idioma

Utilització d'altres idiomes OCR.

// Install the IronOcr Arabic language package using NuGet
// PM> Install-Package IronOcr.Languages.Arabic

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
    // Add an image for OCR that contains Arabic text
    input.AddImage("img/arabic.gif");
    // Apply image filters if needed
    // In this case, even though input is of very low quality
    // IronTesseract can read what the conventional Tesseract cannot.

    var Result = Ocr.Read(input);

    // Console cannot easily print Arabic on Windows.
    // Save it to disk.
    Result.SaveAsTextFile("arabic.txt");
}

Exemple de diversos idiomes

També és possible fer OCR utilitzant diversos idiomes alhora. Això pot ajudar a obtenir metadades i URL en anglès als documents Unicode.

// Install the IronOcr Chinese Simplified language package using NuGet
// PM> Install-Package IronOcr.Languages.ChineseSimplified

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Catalan);

// Podem afegir qualsevol nombre d’idiomes

using (var input = new OcrInput())
{
    input.Add("multi-language.pdf");
    var Result = Ocr.Read(input);
    Result.SaveAsTextFile("results.txt");
}

Objectes de resultats OCR detallats

IronOCR retorna un objecte de resultat OCR per a cada operació OCR. Generalment, els desenvolupadors només utilitzen la propietat de text d’aquest objecte per obtenir el text escanejat de la imatge. Tanmateix, els resultats OCR DOM són molt més avançats que aquest.

using IronOcr;
using System.Drawing; // Add reference for System.Drawing assembly

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Catalan;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // Important for barcode reading

using (var Input = new OcrInput(@"images\sample.tiff"))
{
    OcrResult Result = Ocr.Read(Input);
    var Pages = Result.Pages;
    var Words = Pages[0].Words;
    var Barcodes = Result.Barcodes;
    // Explore here to find a massive and detailed API:
    // - Pages, blocks, paragraphs, lines, words, characters
    // - Image exports, font coordinates, statistical data
}

Rendiment

IronOCR funciona fora de la caixa sense necessitat de sintonitzar o modificar les imatges d’entrada. Speed is Blazing: IronOCR.2020 + és fins a 10 vegades més ràpida i comet un 250% menys d'errors que les versions anteriors.

Aprèn més

Per obtenir més informació sobre OCR en C#, VB, F# o qualsevol altre idioma .NET, llegiu els nostres tutorials de la comunitat, que ofereixen exemples reals de com es pot utilitzar IronOCR i poden mostrar els matisos de com treure el màxim partit aquesta biblioteca.

També hi ha disponible una referència d'objecte completa per als desenvolupadors de .NET.

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

準備開始了嗎?

Nuget Downloads 6,236,385版本:2026.9剛剛發布

立即獲取您的30天試用金鑰
無需信用卡或帳戶建立
C# PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. 在解決方案資源管理器中,右鍵點擊參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronOCR"
  3. 選擇包並安裝
C# PDF DLL
下載 DLL

版本: 2026.9

這裡下載Windows安裝程式。

  1. 下載並解壓IronOCR至您的方案目錄下的~/Libs等位置
  2. 在Visual Studio解決方案資源管理器中,右鍵點擊參考。選擇瀏覽,"IronOCR.dll"

授權從$999

有問題嗎?聯絡我們的開發團隊。

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立