كيفية تلقائي استخراج البيانات من ملفات PDF متعددة الصفحات باستخدام Aspose.OCR
PDFs متعددة الصفحات من الماسح الضوئي أو الأرشيف أو تدفقات العمل المؤسسية غالبا ما يحتوي على كميات هائلة من النص والجدول غير قابلة للبحث. الاستخراج اليدوي بطيئ وغير قابل للتوسع. Aspose.OCR ل .NET تلقائي استخراج النص، الجدول، والهيكل من طويلة، معقدة PDF مع الحد الأدنى من الرمز.
مشكلة العالم الحقيقي
تتعامل الأرشيفات القانونية والمالية والأكاديمية بانتظام مع ملفات PDF المسح متعددة الصفحات التي تحتوي على مئات الصفحة.
نظرة عامة على الحل
يمكن لـ Aspose.OCR for .NET تجميع المعالجة واستخراج النص/الجدول من كل صفحة في ملف PDF متعدد الصفحات.يمكنك تحديد صفوف الصفحة، وتنسيقات التصدير، والتكامل التلقائي مع التطبيقات التجارية أو الأرشيف الرقمي.
المتطلبات
- Visual Studio 2019 أو أحدث
- .NET 6.0 أو أعلى (أو .Net Framework 4.6.2+)
- Aspose.OCR لـ .NET من NuGet
- مهارات البرمجة C#
PM> Install-Package Aspose.OCR
تنفيذ خطوة بخطوة
الخطوة 1: تثبيت وتكوين Aspose.OCR
using Aspose.OCR;
الخطوة 2: إضافة ملفات PDF متعددة الصفحات
OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf"); // all pages
input.Add("report.pdf", 5, 10); // pages 5-14
الخطوة 3: تعيين إعدادات التعرف وتصنيفات الصفحات
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;
الخطوة 4: استخراج النص والجدول من كل صفحة
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
الخطوة 5: تصدير النتائج لكل صفحة
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++;
}
الخطوة 6: التعامل مع الأخطاء وتصديق البيانات
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
الخطوة 7: تحسين الملفات الكبيرة والوظائف المشتركة
- معالجة PDFs في المجلدات حسب الدليل
- استخدم معالجة الصفحات الاختيارية للسرعة
- الذاكرة / استخدام CPU
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
input.Add(file);
}
الخطوة الثامنة: نموذج كامل
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}");
}
}
}
استخدام الحالات والتطبيقات
الأرشيف القانوني والامتثال
استخراج المحتوى الكامل من العقود أو الملفات القضائية أو السجلات الحكومية للبحث والامتثال.
الأرشيف الأكاديمي والبحثي
الرقمنة وتقسيم المجلات أو الأطروحة أو لوحات البيانات لتحليل أو التعلم الإلكتروني.
تدفقات العمل المالية والمراجعة
استخراج تلقائي من أرشيفات البيانات الكبيرة والتقارير والصفحات.
التحديات والحلول المشتركة
التحدي الأول: وضع الصفحات غير المتسقة
الحل: استخدم الكشف عن السيارة أو إعداد وضع مختلف حسب نطاق الصفحة.
التحدي الثاني: PDFs الكبيرة جدا
الحل: المعالجة في المجموعات؛ تقسيم الملفات لتحسين أداء الذاكرة.
التحدي 3: المحتوى المختلط (النص، الجدول، الصور)
الحلول: تصحيح ومخرج ما بعد العملية؛ وضع الكشف عن النغمة.
اعتبارات الأداء
- PDFs الكبيرة تتطلب المزيد من الذاكرة / CPU
- بوتش وظائف خارج ساعات العمل لأفضل أداء
- تأكيد عينات الإنتاج قبل التكامل
أفضل الممارسات
- استخدام الاتفاقيات الاسمية لمتابعة سهلة
- تقسيم ملفات PDF متعددة الصفحات إذا كانت الملفات كبيرة جدا
- تأمين وثائق المصدر والخروج
- تأكيد النتائج والتحقق من مكانها في تدفقات العمل الحرجة
سيناريوهات متقدمة
السيناريو 1: تصدير إلى PDF قابل للبحث لكل صفحة
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.pdf", SaveFormat.Pdf);
page++;
}
السيناريو 2: التكامل مع قاعدة البيانات أو السحابة
foreach (RecognitionResult result in results)
{
string json = File.ReadAllText($"output_page_{page}.json");
// Upload json or send to a cloud endpoint
}
استنتاجات
يتيح Aspose.OCR for .NET استخراج النص القوي والمتسارع والبيانات المنظمة من ملفات PDF متعددة الصفحات – مما يوفر ساعات من الجهد اليدوي وتحسين أوتوماتيك سير العمل.
انظر المزيد من أمثلة معالجة PDF و batch في أرشيف الوسم : .NET API Reference .