Cum de a automatiza extragerea datelor din PDF-uri multi pagini cu Aspose.OCR

Cum de a automatiza extragerea datelor din PDF-uri multi pagini cu Aspose.OCR

PDF-uri cu mai multe pagini din scanatoare, arhive sau fluxuri de lucru corporative de multe ori dețin cantități enorme de text și tabele care nu pot fi căutate. extracția manuală este lentă și nedescalabilă. Aspose.OCR pentru .NET automatizează extragerea textului, tabelelor și structurii de la lung, PDF complexe cu cod minim.

Problema lumii reale

Arhivele juridice, financiare și academice se ocupă în mod regulat cu mai multe pagini scanate PDF-uri care conțin sute de pagine. text manual și extracția de date este eronată și munca intensă.

Soluție de ansamblu

Aspose.OCR pentru .NET poate colecta procesul și extrage text / tablă din fiecare pagină într-un PDF multi pagini. puteți specifica rândurile paginilor, formatele de export și integrarea automată cu aplicațiile de afaceri sau arhivele digitale.

Prevederile

  • Visual Studio 2019 sau mai târziu
  • .NET 6.0 sau mai târziu (sau .Net Framework 4.6.2+)
  • Aspose.OCR pentru .NET de la NuGet
  • Abilități de programare C#
PM> Install-Package Aspose.OCR

Implementarea pas cu pas

Pasul 1: Instalați și configurați Aspose.OCR

using Aspose.OCR;

Pasul 2: Adăugați fișiere PDF cu mai multe pagini

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

Pasul 3: Configurați setările de recunoaștere și rangurile paginilor

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

Pasul 4: Extrageți text și tabele din fiecare pagină

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

Pasul 5: Rezultatele de export pentru fiecare pagină

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

Pasul 6: Tratarea erorilor și validarea datelor

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

Pasul 7: Optimizarea pentru fișiere mari și locuri de muncă batch

  • Procesarea PDF-urilor în dosare prin directorie
  • Utilizați prelucrarea selectivă a paginii pentru viteză
  • Monitorizarea utilizării memorii/CPU
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
    input.Add(file);
}

Pasul 8: Exemplu complet

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

Folosește cazuri și aplicații

Arhivă legală și conformitate

Extrageți conținutul complet al contractelor, rapoartelor judecătorești sau înregistrărilor guvernamentale pentru căutare și conformitate.

Arhiva academică și de cercetare

Digitizați și împărțiți jurnalele, tezele sau tabelele de date pentru analiză sau e-learning.

Fluxurile de lucru financiare și de audit

Extracție automată din arhive de declarații mari, rapoarte și broșuri.

Provocări și soluții comune

Provocare 1: Layout-uri de pagini inconsistente

Soluție: Utilizați detecția AUTO sau configurați moduri diferite pentru intervalul de pagini.

Sfârșitul 2: PDF-uri foarte mari

Soluție: Procesarea în batch; fișierele împărțite pentru o performanță mai bună a memoriei.

Challenge 3: Conținut mixt (Text, tabele, imagini)

Soluție: Validate și post-proces outputs; modul de detectare a tonului.

Considerații de performanță

  • PDF-urile mari necesită mai multă memorie/CPU
  • Lucrări off-time pentru cele mai bune performanțe
  • Validarea eșantionelor înainte de integrare

Cele mai bune practici

  • Utilizați convențiile de numire pentru urmărirea ușoară
  • Separați PDF-uri cu mai multe pagini dacă fișierele sunt foarte mari
  • Asigurați atât documentele de sursă, cât și de ieșire
  • Validați și verificați rezultatele în fluxurile de lucru critice

Scenarii avansate

Scenariul 1: Exportarea la PDF-ul căutat pe pagină

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

Scenariul 2: Integrarea cu baza de date sau cloud

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

concluziile

Aspose.OCR pentru .NET permite extragerea robustă, scalabilă a textului și a datelor structurate din PDF-uri cu mai multe pagini – economisește ore de efort manual și îmbunătățește automatizarea fluxului de lucru.

Vezi mai multe exemple de prelucrare PDF și batch în Aspose.OCR pentru .NET API Referință .

 Română