V mnoha obchodních pracovních postupech je nutné skenované PDF dokumenty převést na prohledávatelný nebo editovatelný text. Tutoriál Extract Text from Scanned PDFs with Aspose.PDF OCR in C# ukazuje, jak využít integrovaný OCR engine v Aspose.PDF for .NET k získání prostého textu z obrazových stránek. Po sledování tohoto průvodce získáte připravené řešení, které funguje s jakýmkoli skenovaným PDF, bez ohledu na jeho velikost nebo jazyk.

Extrahovat text ze skenovaných PDF pomocí Aspose.PDF OCR SDK

Naskenované PDF obsahují pouze obrázky, takže typické API pro extrakci textu nic nevrací. OCR (Optical Character Recognition) převádí tyto obrázky na strojově čitelné znaky, což umožňuje indexování, těžbu dat a následné zpracování. Automatizace OCR v C# odstraňuje ruční kroky kopírování‑vkládání, zvyšuje přesnost a škáluje na velké dávky dokumentů.

Aspose.PDF poskytuje prostor názvů Aspose.Pdf.Ocr, který zahrnuje OcrTextRecognitionOptions, OcrTextAbsorber a výčty jazyků. Knihovna je distribuována prostřednictvím NuGet. Nainstalujte ji pomocí následujícího příkazu:

Install-Package Aspose.PDF

Pro více informací navštivte stránku produktu Aspose.PDF.

Extrahovat text ze skenovaných PDF pomocí Aspose.PDF OCR v C#

  1. Načtěte naskenovaný PDF do Aspose.Pdf.Document.
  2. Nakonfigurujte možnosti OCR (jazyk, rozlišení, oddělovač stránek).
  3. Použijte OcrTextAbsorber na kolekci stránek dokumentu.
  4. Získejte rozpoznaný text a uložte jej.

Příklad ukazuje načtení naskenovaného PDF, nastavení OCR, extrakci textu a zápis výsledku do souboru pomocí C#.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RecognizeTextWithOcr()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

// Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Configure OCR recognition options
        var options = new Aspose.Pdf.Ocr.OcrTextRecognitionOptions
        {
            Language = Aspose.Pdf.Ocr.OcrLanguage.English,
            Resolution = 300,
            PageSeparator = "\n\n"
        };

// Recognize text from all pages
        var absorber = new Aspose.Pdf.Ocr.OcrTextAbsorber(options);
        document.Pages.Accept(absorber);

// Save recognized text
        System.IO.File.WriteAllText(dataDir + "recognized-text.txt", absorber.Text);
    }
}

Aspose.PDF Funkce, které jsou pro tento úkol důležité

  • Integrovaný OCR engine – Žádné externí závislosti; OCR engine se nachází v namespace Aspose.Pdf.Ocr.
  • Výběr jazyka – OcrLanguage enum vám umožňuje specifikovat slovník pro lepší rozpoznávání.
  • Řízení rozlišení – Vyšší DPI zlepšuje věrnost znaků, zejména u slabých skenů.
  • PageSeparator – Přizpůsobitelný řetězec pro oddělení stránek ve výstupním textu.
  • Thread‑safe page collection – Umožňuje paralelní zpracování velkých PDF souborů.

Tyto možnosti umožňují robustní řešení v jediné knihovně pro extrakci textu z libovolného naskenovaného PDF.

Instalace a nastavení v C#

  1. Otevřete své řešení .NET ve Visual Studiu.
  2. Otevřete Package Manager Console a spusťte Install-Package Aspose.PDF.
  3. Přidejte using Aspose.Pdf; a using Aspose.Pdf.Ocr; na začátek souboru třídy.
  4. Ujistěte se, že máte dočasnou nebo plnou licenci; bez ní může výstup obsahovat vodoznak.

Pro podrobnosti o licencování navštivte dočasnou licenční stránku.

Implementace krok za krokem v C#

Na co tato sekce odpovídá? Jaké jsou přesné kroky kódu pro extrakci textu?

  1. Inicializujte dokument
    var pdfPath = "path/to/scanned.pdf";
    var document = new Document(pdfPath);
    
  2. Vytvořte možnosti OCR
    var ocrOptions = new OcrTextRecognitionOptions
    {
        Language = OcrLanguage.English,
        Resolution = 300,
        PageSeparator = "\n--- Page Break ---\n"
    };
    
  3. Spusťte absorber
    var absorber = new OcrTextAbsorber(ocrOptions);
    document.Pages.Accept(absorber);
    
  4. Získejte extrahovaný text
    string extractedText = absorber.Text;
    
  5. Uložte nebo zpracujte text
    System.IO.File.WriteAllText("output.txt", extractedText);
    

Kód následuje stejný tok jako komplexní příklad výše, ale rozděluje logiku na stravitelné kroky.

Získat bezplatnou licenci

Vyzkoušejte Aspose.PDF zdarma požádáním o dočasnou licenci zde: https://purchase.aspose.com/temporary-license/

Bezplatné doplňkové zdroje

Závěr

Tento průvodce vás provedl extrahováním textu ze skenovaných PDF pomocí Aspose.PDF OCR v C#. Naučili jste se, jak nainstalovat knihovnu, nakonfigurovat možnosti OCR pro přesnost, implementovat čistý extrakční pipeline a aplikovat optimalizace výkonu pro velké dokumenty. S těmito technikami může každý vývojář .NET převést PDF obsahující pouze obrázky na prohledávatelné, editovatelné textové proudy.

Často kladené otázky

  1. Jak mohu extrahovat text ze skenovaného PDF v C# pomocí Aspose.PDF?
    Vytvořte Document, nakonfigurujte OcrTextRecognitionOptions, spusťte OcrTextAbsorber na stránkách a přečtěte vlastnost Text.

  2. Jaké OCR jazyky jsou podporovány v Aspose.PDF?
    Knihovna podporuje mnoho jazyků prostřednictvím výčtu OcrLanguage, včetně angličtiny, francouzštiny, němčiny, španělštiny, čínštiny a dalších.

  3. Jak mohu zlepšit přesnost OCR u nízkorozlišovacích skenů?
    Zvyšte Resolution (např. 300 DPI), vyberte správný jazyk a zvažte předzpracování obrázků pro zvýšení kontrastu.

  4. Je bezpečné zpracovávat velké PDF soubory paralelně?
    Ano, rozdělením dokumentu na rozsahy stránek a zpracováním každého rozsahu na samostatném vlákně, přičemž monitorujete využití paměti.

  5. Jaká licence je potřebná pro funkce OCR?
    OCR je plně k dispozici s platnou licencí Aspose.PDF for .NET; dočasnou licenci lze získat pro vyhodnocení.

  6. Kde najdu další dokumentaci k nastavení OCR?
    Podrobná vodítka pro konfiguraci OCR jsou k dispozici v dokumentaci Aspose.PDF OCR settings na https://docs.aspose.com/pdf/net/.

Číst dál