pdf-extractor / app.py
kryman27's picture
Update app.py
10213d3 verified
raw
history blame
1.1 kB
import gradio as gr
import pdfplumber
from transformers import pipeline
# Inicjalizacja modelu LayoutLM do ekstrakcji tekstu
extractor = pipeline("ner", model="microsoft/layoutlmv3-base", aggregation_strategy="simple")
def extract_seller(pdf_file):
with pdfplumber.open(pdf_file) as pdf:
text = "\n".join(page.extract_text() for page in pdf.pages if page.extract_text())
# Przetwarzanie tekstu modelem NLP
entities = extractor(text)
seller_name = None
for entity in entities:
if "ORG" in entity["entity_group"]: # Szukamy nazw organizacji
seller_name = entity["word"]
break # Pobieramy pierwszą wykrytą firmę jako sprzedawcę
return {"Sprzedawca": seller_name if seller_name else "Nie znaleziono"}
# Interfejs użytkownika w Hugging Face Spaces
iface = gr.Interface(
fn=extract_seller,
inputs=gr.File(label="Wybierz plik PDF"),
outputs="json",
title="Ekstrakcja Sprzedawcy z Faktury",
description="Prześlij plik PDF, aby wydobyć nazwę sprzedawcy."
)
if __name__ == "__main__":
iface.launch()