
مستخرج بيانات الفواتير
اكتشف كيف يمكن لتدفق مستخرج بيانات الفواتير بتقنية OCR أن يسهّل عملياتك المالية من خلال أتمتة استخراج وتنظيم بيانات الفواتير. تعرّف على ميزاته وفوائده وكيف يعزز...
تعلم كيف تؤتمت استخراج بيانات الفواتير باستخدام OCR قائم على الذكاء الاصطناعي والبايثون مع واجهة FlowHunt البرمجية، مما يمكّنك من معالجة المستندات بسرعة ودقة وقابلية للتوسع.
يتجاوز OCR المدعوم بالذكاء الاصطناعي قدرات OCR التقليدي، حيث يستخدم الذكاء الاصطناعي لفهم السياق، والتعامل مع تنسيقات متنوعة، وإنتاج استخراج بيانات منظمة وعالية الجودة حتى من أكثر المستندات تعقيداً. بينما صُمم OCR التقليدي لالتقاط النصوص من تنسيقات ثابتة، يمكن لـ OCR الذكي التعامل مع العديد من أنواع التخطيطات الشائعة في الفواتير والمستندات التجارية الأخرى.
يجب معالجة الفواتير بكفاءة ودقة عالية، سواء في قسم المحاسبة أو اللوجستيات أو المشتريات. يعمل OCR الذكي على أتمتة استخراج البيانات وتسهيل سير العمل، مما يحسن من دقة البيانات.
تعتمد معظم الشركات التقليدية على استخراج بيانات الفواتير يدوياً عبر الموظفين، وهي عملية تستغرق وقتاً طويلاً وتكلفتها عالية، ويمكن أتمتتها في العديد من المجالات والشركات مثل الضرائب، والقانونية، والمالية وغيرها.
تستغرق هذه العملية من 5 إلى 15 ثانية وتكلف ما بين 0.01 – 0.02 من الرصيد، بينما عادةً ستدفع 15 إلى 30 دولاراً في الساعة لموظف للقيام بنفس المهمة.
المعالج | التكلفة السنوية | عدد الفواتير المعالجة سنوياً | تكلفة الفاتورة |
---|---|---|---|
الإنسان | $30,000 | 12,000 | $2.50 |
FlowHunt | $162 | 12,000 | $0.013 |
FlowHunt (بسعر $30,000) | $30,000 | 2,250,000 | $0.0133 |
يمكن القول إن FlowHunt أكثر كفاءة بفارق كبير.
رغم الفوائد الكبيرة للـ OCR، إلا أن هناك بعض التحديات:
لمواجهة هذه التحديات، من الضروري استخدام أداة OCR قوية ومرنة. توفر واجهة FlowHunt البرمجية حلاً قوياً قادراً على التعامل مع هياكل المستندات المعقدة، ما يجعلها مثالية لمشاريع OCR واسعة النطاق.
لأتمتة العملية، ستحتاج إلى تثبيت مكتبات بايثون التالية:
pip install requests pdf2image git+https://github.com/QualityUnit/flowhunt-python-sdk.git
هذا التثبيت يتضمن:
سيقوم هذا الكود بأخذ ملف PDF، تحويله إلى صور، إرسال كل صورة إلى FlowHunt لمعالجة OCR، وحفظ النتائج بصيغة CSV.
استيراد المكتبات
import json
import os
import re
import time
import requests
import flowhunt
from flowhunt.rest import ApiException
from pprint import pprint
from pdf2image import convert_from_path
json
، os
، re
، وtime
للمساعدة في التعامل مع JSON، وإدارة الملفات، والتعبيرات النمطية، والفواصل الزمنية.requests
: تُستخدم للتعامل مع طلبات HTTP، مثل تحميل نتائج OCR.flowhunt
: حزمة FlowHunt لإدارة التوثيق والتواصل مع واجهة OCR البرمجية.pdf2image
: لتحويل صفحات PDF إلى صور وتمكين OCR لكل صفحة على حدة.دالة تحويل صفحات PDF إلى صور
def convert_pdf_to_image(path: str) -> None:
"""
تحويل ملف PDF إلى صور وتخزين كل صفحة كصورة JPEG.
"""
images = convert_from_path(path)
for i in range(len(images)):
images[i].save('data/images/' + 'page' + str(i) + '.jpg', 'JPEG')
convert_from_path
: يحول كل صفحة PDF إلى صورة.images[i].save
: يحفظ كل صفحة كصورة JPEG منفصلة للمعالجة.استخراج رابط المرفق للنتيجة
def extract_attachment_url(data_string):
pattern = r'```flowhunt\n({.*})\n```'
match = re.search(pattern, data_string, re.DOTALL)
if match:
json_string = match.group(1)
try:
json_data = json.loads(json_string)
return json_data.get('download_link', None)
except json.JSONDecodeError:
print("Error: Failed to decode JSON.")
return None
return None
إعداد التوثيق وواجهة برمجة التطبيقات
convert_pdf_to_image("data/test.pdf")
FLOW_ID = "<FLOW_ID_HERE>"
configuration = flowhunt.Configuration(
host="https://api.flowhunt.io",
api_key={"APIKeyHeader": "<API_KEY_HERE>"}
)
تهيئة عميل واجهة برمجة التطبيقات
with flowhunt.ApiClient(configuration) as api_client:
auth_api = flowhunt.AuthApi(api_client)
api_response = auth_api.get_user()
workspace_id = api_response.api_key_workspace_id
workspace_id
) للاستخدام مع الطلبات التالية.بدء جلسة OCR جديدة
flows_api = flowhunt.FlowsApi(api_client)
from_flow_create_session_req = flowhunt.FlowSessionCreateFromFlowRequest(flow_id=FLOW_ID)
create_session_rsp = flows_api.create_flow_session(workspace_id, from_flow_create_session_req)
رفع الصور لمعالجة OCR
for image in os.listdir("data/images"):
image_name, image_extension = os.path.splitext(image)
with open("data/images/" + image, "rb") as file:
try:
flow_sess_attachment = flows_api.upload_attachments(
create_session_rsp.session_id,
file.read()
)
تشغيل المعالجة والاستعلام عن النتائج
invoke_rsp = flows_api.invoke_flow_response(
create_session_rsp.session_id,
flowhunt.FlowSessionInvokeRequest(message="")
)
while True:
get_flow_rsp = flows_api.poll_flow_response(
create_session_rsp.session_id, invoke_rsp.message_id
)
print("Flow response: ", get_flow_rsp)
if get_flow_rsp.response_status == "S":
print("done OCR")
break
time.sleep(3)
تحميل وحفظ نتائج OCR
attachment_url = extract_attachment_url(get_flow_rsp.final_response[0])
if attachment_url:
response = requests.get(attachment_url)
with open("data/results/" + image_name + ".csv", "wb") as file:
file.write(response.content)
لتنفيذ البرنامج:
data/
.<FLOW_ID_HERE>
و <API_KEY_HERE>
ببيانات اعتمادك في FlowHunt.يوفر هذا البرنامج حلاً فعالاً لتوسيع عمليات الـ OCR، وهو مثالي للقطاعات ذات الاحتياج العالي لمعالجة المستندات. مع واجهة FlowHunt البرمجية، يمكن تحويل المستندات إلى CSV بسهولة، مما يسرع سير العمل ويزيد الإنتاجية.
import json
import os
import re
import time
import requests
import flowhunt
from flowhunt.rest import ApiException
from pprint import pprint
from pdf2image import convert_from_path
def convert_pdf_to_image(path: str) -> None:
"""
Convert a pdf file to an image
:return:
"""
images = convert_from_path(path)
for i in range(len(images)):
images[i].save('data/images/' + 'page'+ str(i) +'.jpg', 'JPEG')
def extract_attachment_url(data_string):
pattern = r'```flowhunt\n({.*})\n```'
match = re.search(pattern, data_string, re.DOTALL)
if match:
json_string = match.group(1)
try:
json_data = json.loads(json_string)
return json_data.get('download_link', None)
except json.JSONDecodeError:
print("Error: Failed to decode JSON.")
return None
return None
convert_pdf_to_image("data/test.pdf")
FLOW_ID = "<FLOW_ID_HERE>"
configuration = flowhunt.Configuration(host = "https://api.flowhunt.io",
api_key = {"APIKeyHeader": "<API_KEY_HERE>"})
with flowhunt.ApiClient(configuration) as api_client:
auth_api = flowhunt.AuthApi(api_client)
api_response = auth_api.get_user()
workspace_id = api_response.api_key_workspace_id
flows_api = flowhunt.FlowsApi(api_client)
from_flow_create_session_req = flowhunt.FlowSessionCreateFromFlowRequest(
flow_id=FLOW_ID
)
create_session_rsp = flows_api.create_flow_session(workspace_id, from_flow_create_session_req)
for image in os.listdir("data/images"):
image_name, image_extension = os.path.splitext(image)
with open("data/images/" + image, "rb") as file:
try:
flow_sess_attachment = flows_api.upload_attachments(
create_session_rsp.session_id,
file.read()
)
invoke_rsp = flows_api.invoke_flow_response(create_session_rsp.session_id, flowhunt.FlowSessionInvokeRequest(
message="",
))
while True:
get_flow_rsp = flows_api.poll_flow_response(create_session_rsp.session_id, invoke_rsp.message_id)
print("Flow response: ", get_flow_rsp)
if get_flow_rsp.response_status == "S":
print("done OCR")
attachment_url = extract_attachment_url(get_flow_rsp.final_response[0])
if attachment_url:
print("Attachment URL: ", attachment_url, "\n Downloading the file...")
response = requests.get(attachment_url)
with open("data/results/" + image_name + ".csv", "wb") as file:
file.write(response.content)
break
time.sleep(3)
except ApiException as e:
print("error for file ", image)
print(e)
يعتمد OCR القائم على الذكاء الاصطناعي على تعلم الآلة ومعالجة اللغة الطبيعية لفهم سياق المستندات، والتعامل مع التخطيطات المعقدة، واستخراج البيانات المنظمة من الفواتير، خلافاً لـ OCR التقليدي الذي يعتمد على التعرف على النصوص ذات الصيغ الثابتة.
يوفر OCR الذكي السرعة والدقة والقابلية للتوسع ومخرجات منظمة، مما يقلل من العمل اليدوي والأخطاء ويسهل التكامل مع أنظمة الأعمال.
من خلال استخدام حزمة FlowHunt بايثون، يمكنك تحويل ملفات PDF إلى صور، ثم إرسالها إلى واجهة FlowHunt البرمجية للقيام بـ OCR واسترجاع البيانات المنظمة بصيغة CSV، مما يؤتمت عملية الاستخراج بالكامل.
تشمل التحديات الشائعة ضعف جودة الصور، وتخطيطات المستندات المعقدة، وتعدد اللغات. تم تصميم واجهة FlowHunt البرمجية للتعامل مع هذه التحديات باستخدام نماذج ذكاء اصطناعي متقدمة وقدرات معالجة مرنة.
يمكن لـ OCR الذكي من FlowHunt معالجة الفواتير خلال ثوانٍ وبتكلفة أقل بكثير من التكلفة البشرية، مما يوفر كفاءة هائلة وقابلية للتوسع للشركات المتنامية.
أرشيا هو مهندس سير عمل الذكاء الاصطناعي في FlowHunt. بخلفية في علوم الحاسوب وشغف بالذكاء الاصطناعي، يختص في إنشاء سير عمل فعّال يدمج أدوات الذكاء الاصطناعي في المهام اليومية، مما يعزز الإنتاجية والإبداع.
أتمتة استخراج بيانات الفواتير مع OCR الذكي والقوي من FlowHunt. وفّر الوقت، وقلل الأخطاء، وحقق انسيابية في سير العمل من خلال تحويل ملفات PDF إلى بيانات منظمة خلال ثوانٍ.
اكتشف كيف يمكن لتدفق مستخرج بيانات الفواتير بتقنية OCR أن يسهّل عملياتك المالية من خلال أتمتة استخراج وتنظيم بيانات الفواتير. تعرّف على ميزاته وفوائده وكيف يعزز...
اكتشف كيف يُحدث التعرف الضوئي على الحروف المدعوم بالذكاء الاصطناعي تحولاً في استخراج البيانات، ويؤتمت معالجة المستندات، ويعزز الكفاءة في صناعات مثل المالية والر...
التعرف الضوئي على الحروف (OCR) هو تقنية تحويلية تقوم بتحويل المستندات مثل الأوراق الممسوحة ضوئيًا أو ملفات PDF أو الصور إلى بيانات قابلة للتحرير والبحث. تعرف عل...