Bagaimana untuk mengautomatikkan pengekstrakan data daripada PDF pelbagai halaman dengan Aspose.OCR

Bagaimana untuk mengautomatikkan pengekstrakan data daripada PDF pelbagai halaman dengan Aspose.OCR

PDF berbilang halaman daripada pemindai, arkib, atau aliran kerja korporat sering memegang jumlah besar teks dan jadual yang tidak boleh dicari. pengekstrakan manual adalah perlahan dan tidak skal. Aspose.OCR untuk .NET mengautomatikkan ekstrak teks, Jadual, dan struktur daripada panjang, PDF kompleks dengan kod minimum.

Masalah dunia sebenar

Arkib undang-undang, kewangan, dan akademik secara berkala berurusan dengan pelbagai halaman PDF yang disemak yang mengandungi beratus-ratus halaman. teks manual dan pengekstrakan data adalah kesilapan dan kerja intensif.

Gambaran keseluruhan penyelesaian

Aspose.OCR untuk .NET boleh batch proses dan mengekstrak teks / jadual dari setiap halaman dalam PDF pelbagai halaman. anda boleh menentukan baris halaman, format eksport, dan integrasi automatik dengan aplikasi perniagaan atau arkib digital.

Prerequisites

  • Visual Studio 2019 atau seterusnya
  • .NET 6.0 atau lebih baru (atau .Net Framework 4.6.2+)
  • Aspose.OCR untuk .NET daripada NuGet
  • Kemahiran pengaturcaraan C#
PM> Install-Package Aspose.OCR

Pelaksanaan langkah demi langkah

Langkah 1: Pemasangan dan Konfigurasi Aspose.OCR

using Aspose.OCR;

Langkah 2: Tambah fail PDF pelbagai halaman

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

Langkah 3: Mengesetkan tetapan pengenalan dan kedudukan halaman

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

Langkah 4: Mengekstrak teks dan jadual dari setiap halaman

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

Langkah 5: Hasil eksport untuk setiap halaman

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

Langkah 6: Menguruskan kesilapan dan mengesahkan data

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

Langkah 7: Mengoptimumkan untuk fail besar dan pekerjaan batch

  • Pemprosesan PDF dalam folder mengikut direktori
  • Menggunakan pemprosesan halaman selektif untuk kelajuan
  • Penggunaan memori / CPU
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
    input.Add(file);
}

Langkah 8 : Contoh Lengkap

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

Penggunaan Kasus dan Permohonan

Undang-undang dan pematuhan Arkib

Mengekstrak kandungan penuh kontrak, permohonan mahkamah, atau rekod kerajaan untuk carian dan pematuhan.

Arkib Akademik dan Penyelidikan

Digitalisasi dan membahagikan jurnal, tesis, atau jadual data untuk analisis atau e-pembelajaran.

aliran kerja kewangan dan audit

Pengekstrakan automatik daripada arkib pernyataan besar, laporan, dan skrip.

Tantangan dan Penyelesaian Bersama

Tantangan 1: Layout halaman yang tidak konsisten

** Penyelesaian:** Gunakan pengesanan AUTO atau tetapkan mod yang berbeza mengikut julat halaman.

Tantangan 2: PDF yang sangat besar

** Penyelesaian:** Proses dalam batch; fail dibahagikan untuk prestasi memori yang lebih baik.

Tantangan 3: Kandungan campuran (teks, jadual, imej)

** Penyelesaian:** Pengesahan dan output selepas proses; mod pengesanan tun.

Pertimbangan prestasi

  • PDF yang besar memerlukan lebih banyak memori / CPU
  • Batch pekerjaan off-hours untuk prestasi terbaik
  • Mengesahkan sampel output sebelum integrasi

amalan terbaik

  • Menggunakan konvensyen nama untuk pengesanan mudah
  • Membahagikan PDF berbilang halaman jika fail sangat besar
  • Memastikan kedua-dua sumber dan dokumen output
  • Pengesahan dan spot-check output dalam aliran kerja kritikal

Senario lanjutan

Senario 1: Eksport ke PDF yang boleh dicari per halaman

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

Scenario 2: Integrasi dengan pangkalan data atau awan

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

Conclusion

Aspose.OCR untuk .NET membolehkan pengekstrakan teks yang kukuh dan boleh diukur dan data berstruktur daripada PDF pelbagai halaman – menjimatkan jam kerja manual dan meningkatkan automatik aliran kerja.

Lihat lebih banyak contoh pemprosesan PDF dan batch dalam Aspose.OCR untuk .NET API Rujukan .

 Melayu