Làm thế nào để thu thập các mục dòng hóa đơn và bảng cấu trúc
Thu thập các mục dòng và bảng từ hóa đơn là chìa khóa cho việc tự động hóa hoàn toàn các tài khoản có thể thanh toán, kiểm toán và phân tích chi tiêu. Aspose.OCR Invoice to Text for .NET cho phép bạn phân phối chi tiết, đa rào, dữ liệu đa cột – ngay cả từ tài liệu quét hoặc chụp ảnh.
Vấn đề thế giới thực
Các hóa đơn chứa các bảng sản phẩm/các dịch vụ – việc chuyển đổi thủ công chúng là thời gian tốn kém và sai lầm.Tự động hóa đầy đủ đòi hỏi phải thu thập chi tiết vững chắc.
Giải pháp Overview
Sử dụng OCR để nhận ra các khu vực bảng, chia từng hàng và cột, và xuất sang định dạng có cấu trúc cho ERP, BI, hoặc phân tích thêm.
Nguyên tắc
- Visual Studio 2019 hoặc hơn
- .NET 6.0 hoặc mới hơn (hoặc .Net Framework 4.6.2+)
- Aspose.OCR cho .NET từ NuGet
- Ví dụ hóa đơn hình ảnh hoặc PDF với dòng mục / bảng
PM> Install-Package Aspose.OCR
Chế độ thực hiện từng bước
Bước 1: Chuẩn bị hình ảnh hóa đơn/PDF
string invoiceFile = "invoice_with_items.pdf";
Bước 2: Xác định các khu vực bảng / hàng item
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;
Bước 3: Nhập văn bản được nhận dạng vào bảng / cột
- Sử dụng regex hoặc logic tùy chỉnh để phân chia các mục dòng bằng ranh giới hàng / cột
// 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.
}
}
Bước 4: Export Line Items/Table to CSV
using (var writer = new StreamWriter("invoice_lineitems.csv"))
{
writer.WriteLine("SKU,Description,Qty,UnitPrice,Total");
// Loop and write line items parsed above
}
Bước 5: Một ví dụ đầy đủ
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));
}
}
}
Sử dụng trường hợp và ứng dụng
Chi phí Analytics và AP Automation
Tiết xuất chi tiêu mục tiêu cho báo cáo, dự đoán và phê duyệt.
Tài khoản kiểm toán và đánh giá
Kiểm tra / phê duyệt dòng với chi tiết xuất khẩu, đọc bằng máy.
ERP / Hệ thống tài chính
Tự động tải dữ liệu bảng có cấu trúc vào phần mềm tài chính hoặc ERP.
Những thách thức và giải pháp chung
Thách thức 1: Các định dạng bảng khác nhau
Các giải pháp: Tune regex và parsing logic cho mỗi nhà cung cấp / template.
Thách thức 2: lỗi nhận dạng OCR trong các cột
** Giải pháp:** Sử dụng heuristics cột, yêu cầu quét chất lượng cao hơn, hoặc lá cờ cho đánh giá thủ công.
Lời bài hát: Lost or Missing Columns
** Giải pháp: ** Thường hóa, chia rẽ, hoặc xem xét nhanh chóng về các trường hợp không rõ ràng.
Các tính toán hiệu suất
- Batch xử lý nhiều hóa đơn song song
- Log/flag parsing các vấn đề cho đánh giá con người
Thực hành tốt nhất
- Xây dựng thư viện regex cho các mẫu được biết đến
- Review sample outputs to tune parsing
- Bảo mật các tập tin ban đầu / được xử lý để kiểm toán
- Cập nhật logic khai thác như các nhà cung cấp / mẫu thay đổi
kịch bản tiên tiến
Kịch bản 1: Map Line Items to ERP/Database Directly
Sử dụng các cuộc gọi ORM hoặc API để đẩy dữ liệu bảng được rút ra.
Kịch bản 2: xử lý bảng đa trang
Tăng logic đến parse qua PDF/image page breaks.
Kết luận
Aspose.OCR Invoice to Text for .NET cho phép thu thập các mục và bảng chi tiết của dòng hóa đơn – cung cấp tự động hóa đầy đủ từ quét/photo đến dữ liệu có cấu trúc, có thể thực hiện.
Xem thêm mã chiết xuất cấu trúc trong Aspose.OCR cho .NET API Reference .