كيفية استخراج خط الفواتير العناصر والجدول المنظمة
استخراج العناصر الخطية والجدول من الفواتير هو المفتاح لأتمتة كاملة من الحسابات المدفوعة، والمراجعات، والنفقات التحليلية. Aspose.OCR الفاتورة إلى النص ل .NET يسمح لك لتقسيم البيانات التفصيلية، متعددة الألواح، متعدد الأعمدة – حتى من المستندات المسح الضوئي أو المصورة.
مشكلة العالم الحقيقي
وتحتوي الفواتير على لوحات من المنتجات/الخدمات، وتستغرق هذه الترجمة يدوياً وقتا طويلاً ومخالفة للخطأ.تتطلب الأتمتة الكاملة استخراجًا قويًّا من التفاصيل المحددة.
نظرة عامة على الحل
استخدم OCR للتعرف على مناطق الجدول، وتقسيم كل صف وعمود، والتصدير إلى تنسيقات منظمة لـ ERP، BI، أو تحليل إضافي.
المتطلبات
- Visual Studio 2019 أو أحدث
- .NET 6.0 أو أعلى (أو .Net Framework 4.6.2+)
- Aspose.OCR لـ .NET من NuGet
- نموذج صور الفاتورة أو PDFs مع خط العناصر / اللوحات
PM> Install-Package Aspose.OCR
تنفيذ خطوة بخطوة
الخطوة 1: إعداد صورة الفاتورة / PDF
string invoiceFile = "invoice_with_items.pdf";
الخطوة 2: التعرف على مناطق جدول / خط العناصر
using Aspose.OCR;
InvoiceRecognitionSettings settings = new InvoiceRecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
OcrInput input = new OcrInput(InputType.PDF);
input.Add(invoiceFile);
List<RecognitionResult> results = ocr.RecognizeInvoice(input, settings);
string fullText = results[0].RecognitionText;
الخطوة 3: تقسيم النص المعترف به إلى أسطوانات / أعمدة
- استخدم ريجكس أو المنطق المخصص لتقسيم عناصر الخط من خلال مقياسات الصف/العمود
// Example: Split into lines, then columns (simplified)
string[] lines = fullText.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var line in lines)
{
if (Regex.IsMatch(line, @"\d+\s+[A-Za-z].*\s+\d+[.,]\d{2}")) // crude line item match
{
string[] columns = line.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
// Map columns: SKU, description, qty, price, total, etc.
}
}
الخطوة 4: تصدير خط العناصر / الجدول إلى CSV
using (var writer = new StreamWriter("invoice_lineitems.csv"))
{
writer.WriteLine("SKU,Description,Qty,UnitPrice,Total");
// Loop and write line items parsed above
}
الخطوة الخامسة: نموذج كامل
using Aspose.OCR;
using System;
using System.IO;
using System.Text.RegularExpressions;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
string invoiceFile = "invoice_with_items.pdf";
InvoiceRecognitionSettings settings = new InvoiceRecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
OcrInput input = new OcrInput(InputType.PDF);
input.Add(invoiceFile);
List<RecognitionResult> results = ocr.RecognizeInvoice(input, settings);
string fullText = results[0].RecognitionText;
var lineItems = new List<string[]>();
string[] lines = fullText.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var line in lines)
{
if (Regex.IsMatch(line, @"\d+\s+[A-Za-z].*\s+\d+[.,]\d{2}"))
lineItems.Add(line.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
}
using (var writer = new StreamWriter("invoice_lineitems.csv"))
{
writer.WriteLine("SKU,Description,Qty,UnitPrice,Total");
foreach (var item in lineItems)
writer.WriteLine(string.Join(",", item));
}
}
}
استخدام الحالات والتطبيقات
النفقات التحليلية و AP الأتمتة
استخراج النفقات المخصصة للإبلاغ والتنبؤ والموافقة.
الفاتورة مراجعة ومراجعة
التدقيق / الموافقة مع التفاصيل القابلة للتصدير والقراءة بالآلة.
ERP / نظام التمويل
تحميل بيانات الجدول المنظمة مباشرة إلى البرمجيات المالية أو ERP.
التحديات والحلول المشتركة
التحدي الأول: مجموعة متنوعة من النماذج
الحل: قم بتنظيف المنطق المنطقي لكل مورد / نموذج.
التحدي 2: أخطاء التعرف على OCR في الأعمدة
الحل: استخدم الهيورستيات العمودية، وطلب فحوصات عالية الجودة، أو العلم للمراجعة اليدوية.
التحدي الثالث: الأقواس المفقودة أو المهجورة
الحل: توحيد، تقسيم، أو مراجعة سريعة في الحالات الغموض.
اعتبارات الأداء
- بوتش معالجة الفواتير المتعددة بالتوازي
- مسألة تسجيل الدخول/العلامة للمراجعة البشرية
أفضل الممارسات
- بناء مكتبة ريجكس للنماذج المعروفة
- مراجعة عينات الخروج إلى التون بارسينغ
- أمن الملفات الأصلية / المعالجة للمراجعة
- تحديث منطق الاستخراج مع تغيير الموردين / النماذج
سيناريوهات متقدمة
السيناريو 1: خط الخريطة العناصر إلى ERP / قاعدة البيانات مباشرة
استخدم مكالمات ORM أو API للضغط على بيانات الجدول المستخرجة.
السيناريو 2: التعامل مع اللوحات متعددة الصفحات
توسيع المنطق إلى الانحناء عبر فجوات صفحة PDF / الصورة.
استنتاجات
Aspose.OCR الفاتورة إلى النص ل .NET يجعل من الممكن استخراج عناصر خط الفواتير التفصيلية والجدول – مما يتيح الأتمتة الكاملة من الفحص/التصوير إلى البيانات المنظمة، قابلة للتنفيذ.
انظر المزيد من رمز الاستخراج المنظم في أرشيف الوسم : .NET API Reference .