
Lösa OCR-uppgifter med AI
Upptäck hur AI-driven OCR omvandlar datautvinning, automatiserar dokumenthantering och ökar effektiviteten inom branscher som finans, hälsovård och detaljhandel...
Lär dig automatisera datautvinning från fakturor med AI-baserad OCR och Python med FlowHunt’s API – för snabb, exakt och skalbar dokumenthantering.
AI-driven OCR går bortom traditionell OCR genom att använda artificiell intelligens för att förstå kontext, hantera många olika layoutvarianter och skapa högkvalitativ, strukturerad datautvinning även från de mest komplexa dokumenten. Medan traditionell OCR är utformad för att läsa text från fasta format, kan AI OCR hantera många olika layouter och konfigurationer som är vanliga i fakturor och andra affärsdokument.
Fakturor måste behandlas effektivt och med hög noggrannhet, oavsett om det gäller ekonomi-, logistik- eller inköpsavdelningen. AI OCR automatiserar datautvinning och effektiviserar arbetsflöden, vilket förbättrar datans noggrannhet.
De flesta företag extraherar fakturadata manuellt genom anställda. Det är tidskrävande och dyrt, men kan automatiseras i många olika branscher, som skatt, juridik, ekonomi och fler.
Denna process tar 5 till 15 sekunder och kostar 0,01 – 0,02 krediter, där du annars skulle behöva betala 15 – 30 USD per timme för att en anställd gör samma arbete.
Processor | Kostnad per år | Fakturor per år | Kostnad per faktura |
---|---|---|---|
Mänsklig | $30,000 | 12,000 | $2.50 |
FlowHunt | $162 | 12,000 | $0.013 |
FlowHunt (vid $30,000) | $30,000 | 2,250,000 | $0.0133 |
Jag vill påstå att FlowHunt är betydligt mer effektivt.
Trots fördelarna innebär OCR vissa utmaningar:
För att möta dessa utmaningar krävs ett kraftfullt och flexibelt OCR-verktyg. FlowHunt’s API erbjuder en robust OCR-lösning som klarar komplexa dokumentstrukturer – perfekt för stora OCR-projekt.
För att automatisera processen behöver du installera följande Python-bibliotek:
pip install requests pdf2image git+https://github.com/QualityUnit/flowhunt-python-sdk.git
Detta installerar:
Den här koden tar en PDF, konverterar den till bilder, skickar varje bild till FlowHunt för OCR-behandling och sparar resultatet i CSV-format.
Importera bibliotek
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
och time
hjälper till med JSON-hantering, filhantering, reguljära uttryck och tidsintervaller.requests
: Används för HTTP-förfrågningar, t.ex. för att ladda ner OCR-resultat.flowhunt
: FlowHunt’s SDK hanterar autentisering och kommunikation med OCR API:t.pdf2image
: Konverterar PDF-sidor till bilder för individuell OCR.Funktion för att konvertera PDF-sidor till bilder
def convert_pdf_to_image(path: str) -> None:
"""
Konvertera en PDF-fil till bilder och spara varje sida som 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
: Konverterar varje PDF-sida till en bild.images[i].save
: Sparar varje sida som en separat JPEG för OCR.Extrahera URL till resultatbilagan
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
API-konfiguration och autentisering
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>"}
)
Initiera API-klienten
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
för kommande API-anrop.Starta en Flow-session
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)
Ladda upp bilder för OCR-behandling
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()
)
Starta OCR-behandlingen och pollar för resultat
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)
Ladda ner och spara OCR-utdata
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)
För att köra skriptet:
data/
.<FLOW_ID_HERE>
och <API_KEY_HERE>
med dina FlowHunt-uppgifter.Detta Python-skript erbjuder en effektiv lösning för att skala OCR-processer – perfekt för branscher med stora dokumentflöden. Med FlowHunt’s API hanterar lösningen konvertering från dokument till CSV, effektiviserar arbetsflöden och ökar produktiviteten.
Klicka HÄR för Gist-versionen.
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)
AI-baserad OCR använder maskininlärning och NLP för att förstå dokumentets kontext, hantera komplexa layouter och extrahera strukturerad data från fakturor – till skillnad från traditionell OCR som bygger på fast textigenkänning.
AI OCR ger snabbhet, noggrannhet, skalbarhet och strukturerade resultat, vilket minskar manuellt arbete, minimerar fel och möjliggör smidig integration med affärssystem.
Med FlowHunt’s Python SDK kan du konvertera PDF-filer till bilder, skicka dem till FlowHunt’s API för OCR och hämta strukturerad data i CSV-format – och automatisera hela utvinningsprocessen.
Vanliga utmaningar är låg bildkvalitet, komplexa dokumentlayouter och olika språk. FlowHunt’s API är utformat för att hantera detta med avancerade AI-modeller och flexibel behandling.
FlowHunt’s AI OCR kan behandla fakturor på sekunder till en bråkdel av den mänskliga kostnaden, vilket ger stora effektivitetsvinster och skalbarhet för växande företag.
Arshia är en AI-arbetsflödesingenjör på FlowHunt. Med en bakgrund inom datavetenskap och en passion för AI, specialiserar han sig på att skapa effektiva arbetsflöden som integrerar AI-verktyg i vardagliga uppgifter, vilket förbättrar produktivitet och kreativitet.
Automatisera datautvinning från fakturor med FlowHunt’s kraftfulla AI OCR. Spara tid, minska fel och effektivisera dina arbetsflöden genom att konvertera PDF-filer till strukturerad data på några sekunder.
Upptäck hur AI-driven OCR omvandlar datautvinning, automatiserar dokumenthantering och ökar effektiviteten inom branscher som finans, hälsovård och detaljhandel...
Upptäck hur en Faktura Data Extraktor OCR Flow kan effektivisera dina finansiella processer genom att automatisera extrahering och organisering av fakturadata. ...
Optisk teckenigenkänning (OCR) är en omvälvande teknik som omvandlar dokument såsom inskannade papper, PDF-filer eller bilder till redigerbar och sökbar data. L...