कैसे निकालें बिल लाइन वस्तुओं और संरचित तालिकाओं

कैसे निकालें बिल लाइन वस्तुओं और संरचित तालिकाओं

बिलों से लाइन आइटम और तालिकाओं को निकालना भुगतान किए जाने वाले खातों, ऑडिट और खर्च विश्लेषण के पूर्ण स्वचालन के लिए कुंजी है. Aspose.OCR Invoice to Text for .NET आपको विस्तृत, मल्टी-रो, बहु-कॉल्यूम डेटा - यहां तक कि स्कैन किए गए या चित्रित दस्तावेजों से भी विभाजित करने की अनुमति देता है।

असली दुनिया की समस्या

खातों में उत्पादों / सेवाओं के तालिकाएं शामिल हैं - उन्हें मैन्युअल रूप से ट्रांसलिंग करना समय-उपयोग और त्रुटि-प्रेरित है. पूर्ण स्वचालितता में आइटम किए गए विवरणों को मजबूत निकालने की आवश्यकता होती है।

समाधान समीक्षा

तालिका क्षेत्रों को पहचानने के लिए OCR का उपयोग करें, प्रत्येक पंक्ति और स्तंभ को विभाजित करें और ERP, BI या आगे के विश्लेषण में संरचित प्रारूपों में निर्यात करें।

Prerequisites

  • Visual Studio 2019 या बाद में
  • .NET 6.0 या बाद में (या .Net Framework 4.6.2+)
  • NuGet से .NET के लिए Aspose.OCR
  • नमूना बिल छवियों या पीडीएफ लाइन आइटम / तालिकाओं के साथ
PM> Install-Package Aspose.OCR

चरण-दर-चरण कार्यान्वयन

चरण 1: सूचकांक छवि / पीडीएफ तैयार करें

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
}

चरण 5: पूर्ण उदाहरण

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

मामलों और अनुप्रयोगों का उपयोग करें

खर्च विश्लेषण और एपी ऑटोमेशन

रिपोर्टिंग, पूर्वानुमान और अनुमोदन के लिए आइटम किए गए खर्चों को निकालना।

लेखा परीक्षण और समीक्षा

स्ट्रीमलाइन ऑडिट / अनुमोदन, निर्यात योग्य, मशीन-पढ़ने योग्य विवरण के साथ।

ERP / वित्तीय प्रणालियों का एकीकरण

सीधे वित्तीय या ERP सॉफ्टवेयर में संरचित तालिका डेटा लोड करें।

आम चुनौतियां और समाधान

चुनौती 1: विभिन्न टेबल प्रारूप

** समाधान:** प्रत्येक आपूर्तिकर्ता / टेम्पलेट के लिए रीगेक्स और पार्टिंग तार्किक ट्यूनिंग।

चुनौती 2: OCR पहचान त्रुटियों को स्तंभों में

** समाधान:** स्तंभ ह्यूरीस्टिक का उपयोग करें, उच्च गुणवत्ता वाले स्कैन का अनुरोध करें या मैनुअल समीक्षा के लिए झंडा।

चुनौती 3: खो गए या खोए हुए स्तंभ

समाधान: अस्पष्ट मामलों पर सामान्य, विभाजित, या त्वरित समीक्षा।

प्रदर्शन विचार

  • बैच एक साथ कई बिलों को संसाधित करता है
  • मानवीय समीक्षा के लिए लॉग/फ्लैग पार्किंग मुद्दों

सर्वश्रेष्ठ अभ्यास

  • ज्ञात टेम्पलेट्स के लिए रेगेक्स लाइब्रेरी बनाएं
  • Tune Parsing के लिए नमूना आउटपुट की समीक्षा
  • ऑडिट के लिए सुरक्षित मूल / संसाधित फ़ाइलें
  • आपूर्तिकर्ताओं / टेम्पलेट्स में परिवर्तन के रूप में निष्कर्षण तर्क को अपडेट करें

उन्नत परिदृश्य

परिदृश्य 1: मैप लाइन आइटम सीधे ERP / डेटाबेस में

ORM या API कॉल का उपयोग निकाले गए तालिका डेटा को दबाने के लिए किया जाता है।

परिदृश्य 2: बहु-पृष्ठ तालिकाओं को संभालना

तार्किक का विस्तार करें और पीडीएफ / छवि पृष्ठ ब्रेक के माध्यम से पार करें।

Conclusion

Aspose.OCR Invoice to Text for .NET विस्तृत बिल लाइन आइटम और तालिकाओं को निकालने की अनुमति देता है - स्कैन / फोटो से संरचित, निष्पादित डेटा तक पूर्ण स्वचालितता प्रदान करता है।

अधिक संरचनात्मक निष्कर्षण कोड में देखें .NET API संदर्भ के लिए Aspose.OCR .

 हिंदी