
Lösen von OCR-Aufgaben mit KI
Entdecken Sie, wie KI-gestützte OCR die Datenerfassung revolutioniert, die Dokumentenverarbeitung automatisiert und die Effizienz in Branchen wie Finanzen, Gesu...
Erfahren Sie, wie Sie die Rechnungsdatenerfassung mit KI-basierter OCR und Python über die FlowHunt-API automatisieren und so eine schnelle, präzise und skalierbare Dokumentenverarbeitung ermöglichen.
KI-gestützte OCR geht über die Möglichkeiten herkömmlicher OCR hinaus, indem sie künstliche Intelligenz nutzt, um den Kontext zu verstehen, zahlreiche Layout-Varianten zu verarbeiten und auch aus den komplexesten Dokumenten hochwertige strukturierte Daten zu extrahieren. Während herkömmliche OCR auf das Auslesen von Texten aus festen Formaten ausgelegt ist, kann KI-OCR viele verschiedene Layouts und Konfigurationen verarbeiten, wie sie in Rechnungen und anderen Geschäftsdokumenten häufig vorkommen.
Rechnungen müssen effizient und mit hoher Genauigkeit verarbeitet werden – egal ob in der Buchhaltung, Logistik oder im Einkauf. KI-OCR automatisiert die Datenerfassung und optimiert die Workflows, was die Datenqualität verbessert.
In den meisten Unternehmen werden Rechnungsdaten noch manuell durch Mitarbeitende extrahiert. Das ist eine sehr zeitintensive und teure Aufgabe, die in vielen Branchen und Unternehmen – etwa im Steuer-, Rechts- oder Finanzwesen – automatisiert werden kann.
Dieser Prozess dauert 5 bis 15 Sekunden und kostet 0,01 – 0,02 Credits, während Sie für einen Mitarbeitenden normalerweise 15 – 30 $ pro Stunde für die gleiche Aufgabe zahlen müssten.
Prozessor | Kosten pro Jahr | Verarbeitete Rechnungen pro Jahr | Kosten pro Rechnung |
---|---|---|---|
Mensch | $30,000 | 12,000 | $2.50 |
FlowHunt | $162 | 12,000 | $0.013 |
FlowHunt (bei $30,000) | $30,000 | 2,250,000 | $0.0133 |
Ich würde sagen, FlowHunt ist um ein Vielfaches effizienter.
Obwohl OCR sehr vorteilhaft ist, gibt es einige Herausforderungen:
Um diese Herausforderungen zu meistern, ist ein leistungsstarkes und flexibles OCR-Tool erforderlich. Die FlowHunt-API bietet eine robuste OCR-Lösung, die mit komplexen Dokumentstrukturen umgehen kann – ideal für groß angelegte OCR-Projekte.
Um den Prozess zu automatisieren, müssen Sie folgende Python-Bibliotheken installieren:
pip install requests pdf2image git+https://github.com/QualityUnit/flowhunt-python-sdk.git
Dies installiert:
Dieser Code nimmt ein PDF, wandelt es in Bilder um, sendet jedes Bild an FlowHunt zur OCR-Verarbeitung und speichert das Ergebnis im CSV-Format.
Bibliotheken importieren
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
und time
helfen bei der JSON-Verarbeitung, Dateiverwaltung, regulären Ausdrücken und Zeitintervallen.requests
: Wird für HTTP-Anfragen wie das Herunterladen der OCR-Ergebnisse verwendet.flowhunt
: Das SDK von FlowHunt übernimmt die Authentifizierung und Kommunikation mit der OCR-API.pdf2image
: Wandelt PDF-Seiten in Bilder um, sodass jede Seite einzeln per OCR verarbeitet werden kann.Funktion zum Konvertieren von PDF-Seiten in Bilder
def convert_pdf_to_image(path: str) -> None:
"""
Convert a PDF file to images, storing each page as a 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
: Wandelt jede PDF-Seite in ein Bild um.images[i].save
: Speichert jede Seite als eigenes JPEG zur OCR-Verarbeitung.Extrahieren der URL des Ausgabeanhangs
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 und Authentifizierung
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>"}
)
Initialisierung des API-Clients
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 nachfolgende API-Aufrufe ab.Starten einer 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)
Bilder für die OCR-Verarbeitung hochladen
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()
)
OCR-Verarbeitung starten und auf Ergebnisse warten
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-Ausgabe herunterladen und speichern
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)
So führen Sie das Skript aus:
data/
-Ordner.<FLOW_ID_HERE>
und <API_KEY_HERE>
mit Ihren FlowHunt-Zugangsdaten ein.Dieses Python-Skript bietet eine effiziente Lösung, um OCR-Prozesse zu skalieren – ideal für Branchen mit hohem Dokumentenaufkommen. Dank der FlowHunt-API gelingt die Umwandlung von Dokumenten zu CSV nahtlos, was Workflows optimiert und die Produktivität steigert.
Hier klicken für die Gist-Version.
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)
KI-basierte OCR nutzt maschinelles Lernen und NLP, um den Kontext von Dokumenten zu verstehen, komplexe Layouts zu verarbeiten und strukturierte Daten aus Rechnungen zu extrahieren – im Gegensatz zur herkömmlichen OCR, die auf die Erkennung von Text in festen Formaten setzt.
KI-OCR bietet Geschwindigkeit, Genauigkeit, Skalierbarkeit und strukturierte Ausgaben, reduziert manuelle Arbeit, minimiert Fehler und ermöglicht eine nahtlose Integration in Geschäftssysteme.
Mit dem Python-SDK von FlowHunt können Sie PDFs in Bilder umwandeln, diese an die FlowHunt-API zur OCR senden und strukturierte Daten im CSV-Format abrufen – und so den gesamten Extraktionsprozess automatisieren.
Typische Herausforderungen sind schlechte Bildqualität, komplexe Dokumentlayouts und verschiedene Sprachen. Die FlowHunt-API ist mit fortschrittlichen KI-Modellen und flexiblen Verarbeitungskapazitäten darauf ausgelegt, diese Herausforderungen zu meistern.
Die KI-OCR von FlowHunt kann Rechnungen in Sekundenbruchteilen zu einem Bruchteil der menschlichen Kosten verarbeiten und so enorme Effizienzgewinne und Skalierbarkeit für wachsende Unternehmen erzielen.
Arshia ist eine AI Workflow Engineerin bei FlowHunt. Mit einem Hintergrund in Informatik und einer Leidenschaft für KI spezialisiert sie sich darauf, effiziente Arbeitsabläufe zu entwickeln, die KI-Tools in alltägliche Aufgaben integrieren und so Produktivität und Kreativität steigern.
Automatisieren Sie die Rechnungsdatenerfassung mit der leistungsstarken KI-OCR von FlowHunt. Sparen Sie Zeit, reduzieren Sie Fehler und optimieren Sie Ihre Workflows, indem Sie PDFs in wenigen Sekunden in strukturierte Daten umwandeln.
Entdecken Sie, wie KI-gestützte OCR die Datenerfassung revolutioniert, die Dokumentenverarbeitung automatisiert und die Effizienz in Branchen wie Finanzen, Gesu...
Optische Zeichenerkennung (OCR) ist eine transformative Technologie, die Dokumente wie gescannte Papiere, PDFs oder Bilder in editierbare und durchsuchbare Date...
Entdecken Sie, wie ein OCR-Flow für Rechnungsdaten-Extraktion Ihre Finanzprozesse optimieren kann, indem er die Extraktion und Organisation von Rechnungsdaten a...