Spaces:
Sleeping
Sleeping
# streamlit_app.py | |
import streamlit as st | |
from app2 import OCRProcessor # Импортира OCRProcessor от модифицирания app.py | |
from PIL import Image | |
# Инициализация на OCR процесора | |
ocr_processor = OCRProcessor() | |
# Streamlit интерфейс | |
st.title("OCR Application with Streamlit") | |
# Избор на език за OCR | |
language = st.selectbox("Select Language:", ocr_processor.languages, index=0) | |
# Зона за качване на изображения | |
uploaded_images = st.file_uploader("Upload Images", type=["jpg", "jpeg", "png"], accept_multiple_files=True) | |
if uploaded_images: | |
ocr_text = "" | |
st.write("### OCR Results:") | |
for uploaded_image in uploaded_images: | |
# Преобразуване на изображението за OCR | |
image = Image.open(uploaded_image) | |
ocr_result = ocr_processor.extract_text(uploaded_image, lang=language) | |
# Показване на OCR резултата за всяко изображение | |
st.image(image, caption=f"OCR for {uploaded_image.name}", use_column_width=True) | |
st.text_area(f"OCR Text for {uploaded_image.name}", value=ocr_result, height=200) | |
# Добавяне на текста в общия резултат | |
ocr_text += f"--- OCR result for {uploaded_image.name} ---\n{ocr_result}\n\n" | |
# Опции за копиране на текста и запазване като DOCX | |
if st.button("Copy OCR Text to Clipboard"): | |
st.write("Copy to clipboard functionality is currently not available in Streamlit directly.") | |
st.warning("You can manually copy the text from the text areas above.") | |
if st.button("Save as DOCX"): | |
docx_file_path = ocr_processor.save_as_docx(ocr_text) | |
if docx_file_path: | |
with open(docx_file_path, "rb") as f: | |
st.download_button( | |
label="Download DOCX", | |
data=f, | |
file_name="OCR_Result.docx", | |
mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document" | |
) | |
else: | |
st.error("No OCR text to save.") | |