Я пытаюсь извлечь данные из счетов pdf / image, используя компьютерное зрение. Для этого я использовал основанный на ocr pytesseract. это пример счета вы можете найти код для того же самого ниже
import pytesseract
img = Image.open("invoice-sample.jpg")
text = pytesseract.image_to_string(img)
print(text)
, используя pytesseract, я получил ниже вывод
http://mrsinvoice.com
’ Invoice
Your Company LLC Address 123, State, My Country P 111-222-333, F 111-222-334
BILLTO:
fofin Oe Invoice # 00001
Alpha Bravo Road 33 Invoice Date 32/12/2001
P: 111-292-333, F: 111-222-334
client@example.net Nomecof Reps Bob
Contact Phone 101-102-103
SHIPPING TO:
eine ce Payment Terms ash on Delivery
Office Road 38
P: 111-333-222, F: 122-222-334 Amount Due: $4,170
office@example.net
NO PRODUCTS / SERVICE QUANTITY / RATE / UNIT AMOUNT
HOURS: PRICE
1 tye 2 $20 $40
2__| Steering Wheel 5 $10 $50
3 | Engine oil 10 $15 $150
4 | Brake Pad 24 $1000 $2,400
Subtotal $275
Tax (10%) $27.5
Grand Total $202.5
‘THANK YOU FOR YOUR BUSINESS
но проблема в том, что я хочу чтобы извлечь текст и разделить его на разные части, такие как имя поставщика, номер счета, название товара и количество товара. ожидаемый вывод
{'date': (2014, 6, 4), 'invoice_number': 'EUVINS1-OF5-DE-120725895', 'amount': 35.24, 'desc': 'Invoice EUVINS1-OF5-DE-120725895 from Amazon EU'}
Я также пробовал библиотеку invoice2data
python, но опять же она имеет много ограничений. Я также пробовал регулярное обнаружение краев в regex и opencv для отдельного определения текстовых полей, но не смог достичь ожидаемого результата
Не могли бы вы, ребята, помогите мне