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 .