Come automatizzare l'estrazione dei dati da PDF multipagine con Aspose.OCR

Come automatizzare l'estrazione dei dati da PDF multipagine con Aspose.OCR

I file PDF multipagine di scanner, archivi o flussi di lavoro aziendali spesso contengono enormi quantità di testo e tabelle indesiderabili.L’estrazione manuale è lenta e non scalabile.Aspose.OCR per .NET automatizza la estrazione del testo, delle schede e della struttura da lunghi, complessi PDF con codice minimo.

Il problema del mondo reale

Gli archivi legali, finanziari e accademici si occupano regolarmente di PDF scansionati multipagine che contengono centinaia di pagine.

Soluzione Overview

Aspose.OCR per .NET può raccogliere il processo e estrarre testo/tabelle da ogni pagina in un PDF multi-page. Puoi specificare ranghi di pagina, formati di esportazione e integrazione automatica con applicazioni aziendali o archivi digitali.

Prerequisiti

  • Visual Studio 2019 o successivo
  • .NET 6.0 o successivo (o .Net Framework 4.6.2+)
  • Aspose.OCR per .NET da NuGet
  • Le competenze di programmazione C#
PM> Install-Package Aspose.OCR

Implementazione passo dopo passo

Passo 1: Installare e configurare Aspose.OCR

using Aspose.OCR;

Passo 2: Aggiungi file PDF multipagine

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

Passo 3: Configurare le impostazioni di riconoscimento e le ranghe di pagina

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

Passo 4: Estratto di testo e tabelle da ogni pagina

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

Passo 5: Risultati di esportazione per ogni pagina

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

Passo 6: gestire gli errori e valutare i dati

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

Passo 7: Ottimizzare per Big Files e Batch Jobs

  • Processare PDF in cartelle per directory
  • Utilizzare il trattamento selettivo della pagina per la velocità
  • Utilizzo della memoria/CPU
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
    input.Add(file);
}

Passo 8 - Esempio completo

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

Utilizzare casi e applicazioni

Legale e conformità Archivi

Rimuovere il contenuto completo dei contratti, delle domande giudiziarie o dei documenti governativi per la ricerca e il rispetto.

Archivi accademici e di ricerca

Digitalizzare e dividere riviste, tesi o tabelle di dati per analisi o e-learning.

Il flusso di lavoro finanziario e di audit

L’estrazione automatica dai grandi archivi di dichiarazione, rapporti e schede di diffusione.

Sfide e soluzioni comuni

Challenge 1: layout di pagine inconsistenti

Soluzione: Utilizzare la rilevazione AUTO o impostare modi diversi per gamma di pagine.

Challenge 2: PDF di grandi dimensioni

Soluzione: Processi in batch; file divisi per migliorare le prestazioni della memoria.

Challenge 3: Contenuti misti (Text, tabelle, immagini)

Soluzione: Validate e post-process output; modalità di rilevamento tune.

Considerazioni di prestazioni

  • I grandi PDF richiedono più memoria/CPU
  • Lavori di batch off-hours per il miglior risultato
  • Validare i campioni di uscita prima dell’integrazione

Migliori pratiche

  • Utilizzare le convenzioni di nomina per un facile tracciamento
  • Dividere PDF multipagine se i file sono molto grandi
  • Assicurare sia i documenti di fonte che di output
  • Validare e verificare i risultati in flussi di lavoro critici

Scenari avanzati

Scenario 1: Esportazione a PDF di ricerca per pagina

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

Scenario 2: Integrare con database o cloud

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

conclusione

Aspose.OCR per .NET consente una robusta, scalabile estrazione di testo e dati strutturati da PDF multipagine – risparmiando ore di sforzo manuale e migliorando l’automazione del flusso di lavoro.

Vedi più esempi di elaborazione di PDF e batch nel Aspose.OCR per .NET API Reference .

 Italiano