Faturalandırma Ürünleri ve Yapılandırılmış Tablolar Nasıl Çekilir
Faturadan satır öğeleri ve tabloları çıkarmak, hesapların, denetimlerin ve harcama analizlerinin tam otomatikleştirilmesi için anahtarıdır. .NET için Aspose.OCR Invoice to Text ayrıntılı, çok renkli ve çok sütunlu verileri - hatta taramalı veya fotoğraflanmış belgelerden bile - paylaşmanıza olanak tanır.
Gerçek Dünya Sorunları
Faturalar ürün/hizmet tablolarını içerir – bunları manuel olarak çevirmek zaman ve hataya dayanıklıdır. tam otomatikleştirme, belirlenmiş ayrıntıların sağlam bir şekilde çıkarılmasını gerektirir.
Çözüm Özetleri
Tablo bölgelerini tanımak için OCR’yi kullanın, her satırı ve sütunu parçalayın ve ERP, BI veya daha fazla analiz için yapılandırılmış biçimlere ihraç edin.
Ön koşullar
- Visual Studio 2019 veya sonraki
- .NET 6.0 veya sonraki (veya .Net Framework 4.6.2+)
- Aspose.OCR için .NET için NuGet
- Örnek fatura görüntüleri veya satır öğeleri / tablolarla PDF’ler
PM> Install-Package Aspose.OCR
adım adım uygulama
Adım 1: Fatura Görüntüsü / PDF hazırlayın
string invoiceFile = "invoice_with_items.pdf";
Adım 2: Tablo / Çizgi öğeleri bölgelerini tanımak
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;
Adım 3: Tanıdık metni tablo çubuklarına / sütunlara ayırın
- Regex veya özelleştirilmiş mantık kullanarak çizgi öğeleri satır / sütun delimitörleri ile bölünür.
// 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.
}
}
Adım 4: CSV’ye ihracat hattı öğeleri / tablo
using (var writer = new StreamWriter("invoice_lineitems.csv"))
{
writer.WriteLine("SKU,Description,Qty,UnitPrice,Total");
// Loop and write line items parsed above
}
Adım 5: Tam bir örnek
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));
}
}
}
Cases ve Uygulamaları Kullanın
Analiz ve AP Otomatik Harcama
Ekstrakt, raporlama, tahmin ve onay için belirlenmiş harcamalar.
Hesap Denetimi ve Değerlendirmesi
Streamline denetim / onay, ihraç edilebilir, makine okunabilir ayrıntılar ile.
ERP / Finansal Sistem Entegrasyonu
Doğrudan yapılandırılmış tablo verilerini finansal veya ERP yazılımına yükleyin.
Toplu Sorunlar ve Çözümler
Challenge 1: Çeşitli masa biçimleri
** Çözüm:** Her tedarikçi/template için regex ve parsing mantığı tonlayın.
Challenge 2: OCR tanımlama hataları sütunlarda
** Çözüm:** Sütun heuristikleri kullanın, yüksek kaliteli tarama isteyin veya manuel inceleme için bayrak.
3. Sezon 3. Bölüm Kaybolan veya Kayıp Sütunlar
- Çözüm: * Normalize, split, or prompt review on ambigu cases.
performans değerlendirmeleri
- Batch, paralel olarak çoklu faturaları işler
- İnsan incelemesi için log/flag parsing sorunları
En İyi Uygulamalar
- Bilinen şablonlar için regex kütüphanesi oluşturun
- Tune parsing için örnek çıkışları incelemek
- Denetim için güvenli orijinal / işlenmiş dosyalar
- Tedarikçiler / Şablonlar Değişken Ekstraksiyon Mantığı Güncelleştirme
Gelişmiş Senaryolar
Senaryo 1: Harita hattı öğeleri ERP/Database Doğrudan
ORM veya API aramaları kullanarak elde edilen tablo verilerini basın.
Senaryo 2: Çok sayfalık tabloların işlenmesi
Lojiyi PDF / görüntü sayfası boşlukları üzerinden parse’ye uzatın.
Sonuç
Aspose.OCR Invoice to Text for .NET ayrıntılı fatura çizgisi öğeleri ve tabloları çıkarmak için izin verir – tarama/fotoğraftan yapılandırılmış, çalıştırılabilir verilere tam otomatikleştirme sağlar.
Daha fazla yapılandırılmış ekstraksiyon kodu görmek için Aspose.OCR .NET API Referans için .