Kaip automatiškai ištraukti duomenis iš daugiašalių PDF su Aspose.OCR

Kaip automatiškai ištraukti duomenis iš daugiašalių PDF su Aspose.OCR

Daugiašalis PDF iš skaitytuvų, archyvų ar įmonių darbo srautų dažnai turi didžiulį kiekį nerekomenduojamo teksto ir lentelių. Manualinė ekstrakcija yra lėta ir ne skalavimo. Aspose.OCR .NET automatuoja teksto, lentų ir struktūrų ekstraktą iš ilgų, sudėtingų PDF su minimaliu kodu.

Realaus pasaulio problemos

Teisiniai, finansiniai ir akademiniai archyvai reguliariai tvarko daugelio puslapių skenuojamus PDF failus, kurių sudėtyje yra šimtų puslapio.

Sprendimo apžvalga

Aspose.OCR for .NET gali rinkti procesą ir ištraukti tekstą / lenteles iš kiekvieno puslapio daugiašalyje PDF. Galite nurodyti puslapių eilutes, eksporto formatus ir automatinę integraciją su verslo programomis ar skaitmeniniais archyvais.

Prerequisites

  • „Visual Studio 2019“ arba vėliau
  • .NET 6.0 arba naujesnė (arba .Net Framework 4.6.2+)
  • ASPOSE.OCR už .NET iš NuGet
  • Pagrindiniai C# programavimo įgūdžiai
PM> Install-Package Aspose.OCR

Žingsnis po žingsnio įgyvendinimas

1 žingsnis: Įdiegti ir konfigūruoti Aspose.OCR

using Aspose.OCR;

2 žingsnis: Įtraukti daugiašalius PDF failus

OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf"); // all pages
input.Add("report.pdf", 5, 10); // pages 5-14

3 žingsnis: nustatyti atpažinimo nustatymus ir puslapio reitingus

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;

4 žingsnis: Iš kiekvieno puslapio ištraukti tekstą ir lenteles

AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);

5 žingsnis: kiekvieno puslapio eksporto rezultatai

int page = 1;
foreach (RecognitionResult result in results)
{
    result.Save($"output_page_{page}.txt", SaveFormat.Text);
    result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
    result.Save($"output_page_{page}.json", SaveFormat.Json);
    page++;
}

6 žingsnis: tvarkyti klaidas ir patvirtinti duomenis

try
{
    AsposeOcr ocr = new AsposeOcr();
    List<RecognitionResult> results = ocr.Recognize(input, settings);
}
catch (Exception ex)
{
    Console.WriteLine($"Error: {ex.Message}");
}

7 žingsnis: optimizuokite didelius failus ir batch užduotis

  • PDF dokumentai pagal katalogą
  • Naudokite selektyvią puslapio apdorojimą greičiui
  • Atminties stebėjimas / CPU naudojimas
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
    input.Add(file);
}

8 žingsnis: pilnas pavyzdys

using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            OcrInput input = new OcrInput(InputType.PDF);
            input.Add("archive.pdf");
            input.Add("report.pdf", 5, 10);

            RecognitionSettings settings = new RecognitionSettings();
            settings.Language = Language.English;
            settings.DetectAreasMode = DetectAreasMode.AUTO;

            AsposeOcr ocr = new AsposeOcr();
            List<RecognitionResult> results = ocr.Recognize(input, settings);

            int page = 1;
            foreach (RecognitionResult result in results)
            {
                result.Save($"output_page_{page}.txt", SaveFormat.Text);
                result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
                result.Save($"output_page_{page}.json", SaveFormat.Json);
                page++;
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}

Naudokite atvejus ir paraiškas

Teisės ir atitikties archyvas

Išimkite visą sutarčių, teismo dokumentų ar vyriausybės įrašų turinį paieškos ir laikymosi tikslais.

Akademiniai ir mokslinių tyrimų archyvai

Skaitmenizuokite ir suskirstykite žurnalus, disertacijas ar duomenų lenteles analizei ar e-mokymui.

Finansiniai ir audito darbo srautai

Automatinis ekstrakcija iš didelių pareiškimų archyvų, ataskaitų ir plokštelių.

Bendrieji iššūkiai ir sprendimai

1 iššūkis: nesudėtingas puslapių rinkinys

Išsprendimas: Naudokite AUTO aptikimą arba nustatykite skirtingus režimus pagal puslapio diapazoną.

Iššūkis 2: Labai didelis PDF

Išsprendimas: Procesas batuose; skirstomi failai geresnei atminties veiklai.

Iššūkis 3: mišrus turinys (tekstas, lentelės, nuotraukos)

Išsprendimas: Validato ir po proceso išėjimai; tunų aptikimo būdas.

Veiksmingumo apžvalgos

  • Dideliems PDF failams reikia daugiau atminties / CPU
  • „Batch“ darbo valandos geriausiam rezultatui
  • Išleidimo mėginių patikrinimas prieš integraciją

Geriausios praktikos

  • Naudokite pavadinimų konvencijas lengvai sekti
  • Skirstykite daugiašalis PDF, jei failai yra labai dideli
  • Saugoti tiek šaltinio, tiek išeities dokumentus
  • Validavimo ir patikrinimo rezultatai kritiniuose darbo srautuose

Išplėstiniai scenarijai

1 scenarijus: eksportuoti į paieškos PDF per puslapį

foreach (RecognitionResult result in results)
{
    result.Save($"output_page_{page}.pdf", SaveFormat.Pdf);
    page++;
}

2 scenarijus: integruoti į duomenų bazę arba debesį

foreach (RecognitionResult result in results)
{
    string json = File.ReadAllText($"output_page_{page}.json");
    // Upload json or send to a cloud endpoint
}

Conclusion

Aspose.OCR .NET leidžia tvirtą, skalingą teksto ištraukimą ir struktūrizuotus duomenis iš daugelio puslapių PDF – taupo valandas rankinio darbo ir gerina darbo srautų automatiką.

Žiūrėti daugiau PDF ir batch apdorojimo pavyzdžių ASPOSE.OCR už .NET API nuorodą .

 Lietuvių