Kako automatizirati ekstrakciju podataka iz više stranica PDF-a s Aspose.OCR

Kako automatizirati ekstrakciju podataka iz više stranica PDF-a s Aspose.OCR

Mnogobrojni PDF-ovi iz skenerova, arhiva ili korporativnih radnih tokova često drže ogromne količine nepoželjnog teksta i tablica. ručna ekstrakcija je usporena i ne skalabilna. Aspose.OCR za .NET automatizira ekstrakta tekst, tablice i strukture iz dugih, složenih PDF s minimalnim kodom.

Real-svjetski problem

Pravni, financijski i akademski arhivi redovito obrađuju se s više stranica skeniranim PDF-ovima koji sadrže stotine stranica.

Pregled rješenja

Aspose.OCR za .NET može pakirati proces i izvlačiti tekst / tablice sa svake stranice u PDF-u s više stranica. možete odrediti rangove stranica, formate izvoza i automatsku integraciju s poslovnim aplikacijama ili digitalnim arhivima.

Preduzeća

  • Visual Studio 2019 ili kasnije
  • .NET 6.0 ili noviji (ili .Net Framework 4.6.2+)
  • Aspose.OCR za .NET od NuGet
  • Osnovne vještine C# programiranja
PM> Install-Package Aspose.OCR

Korak po korak provedba

Korak 1: Instaliranje i konfiguracija Aspose.OCR

using Aspose.OCR;

Korak 2: Dodajte više stranica PDF datoteke

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

Korak 3: Konfigurirajte postavke prepoznavanja i rang stranice

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

Korak 4: Izvadite tekst i tablice s svake stranice

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

Korak 5: Rezultati izvoza za svaku stranicu

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++;
}

Korak 6: Rješavanje pogrešaka i potvrđivanje podataka

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

Korak 7: Optimizacija za velike datoteke i radna mjesta

  • Procesiranje PDF-a u dosjeima po adresarima
  • Koristite selektivnu obradu stranice za brzinu
  • Monitoriranje pamćenja/CPU upotrebe
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
    input.Add(file);
}

Sljedeći Članak 8: Popuniti primjer

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}");
        }
    }
}

Korištenje slučajeva i aplikacija

Pravna i usklađenost arhiviranje

Izvadite cijeli sadržaj ugovora, sudskih dosjea ili vladinih evidencija za pretragu i usklađenost.

Akademski i istraživački arhivi

Digitalizirajte i podijelite časopise, teze ili tablice podataka za analizu ili e-učenje.

Financijski i revizijski radni tokovi

Automatsko izvlačenje iz velikih arhiva izjava, izvješća i raspršivača.

Zajednički izazovi i rješenja

Izazov 1: Neusklađen raspored stranica

Rješenje: Koristite detekciju AUTO ili postavite različite načine po rasponu stranica.

Izazov 2: Vrlo veliki PDF-ovi

Rješenje: Proces u pakiranjima; razdvajanje datoteka za bolju performanse pamćenja.

Izazov 3: Mješoviti sadržaj (tekst, tablice, slike)

Rješenje: Validirani i post-proces izlazi; način otkrivanja tona.

Razmatranje učinkovitosti

  • Veliki PDF-ovi zahtijevaju više memorije/CPU-a
  • Batch radna mjesta za najbolje performanse
  • Validacija uzoraka prije integracije

Najbolje prakse

  • Koristite nazivne konvencije za jednostavno praćenje
  • Razdvajanje više stranica PDF-a ako su datoteke vrlo velike
  • Obavijest o izvoru i izvornim dokumentima
  • Validacija i spot-check output u kritičnim radnim tokovima

Napredni scenariji

Scenarij 1: Izvoz na pretraživač PDF po stranici

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

Scenarij 2: Integracija s bazom podataka ili oblakom

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

zaključak

Aspose.OCR za .NET omogućuje čvrstu, skalabilnu ekstrakciju teksta i strukturirane podatke iz više stranica PDF-a – štedi satima ručnog napora i poboljšava automatizaciju radnog toka.

Pogledajte više primjera PDF-a i pakiranja u Aspose.OCR za .NET API reference .

 Hrvatski