import os os.environ['USE_TORCH'] = '1' from doctr.io import DocumentFile from doctr.models import ocr_predictor import gradio as gr from PIL import Image predictor = ocr_predictor(pretrained=True) title="DocTR OCR (PDL Demo)" description="Upload an image to get the OCR results !" def greet(img): img.save("out.jpg") doc = DocumentFile.from_images("out.jpg") output=predictor(doc) res="" for obj in output.pages: for obj1 in obj.blocks: for obj2 in obj1.lines: for obj3 in obj2.words: res=res + " " + obj3.value res=res + "\n" res=res + "\n" _output_name = "RESULT_OCR.txt" open(_output_name, 'w').close() # clear file with open(_output_name, "w", encoding="utf-8", errors="ignore") as f: f.write(res) print("Writing into file") return res, _output_name demo = gr.Interface(fn=greet, inputs=gr.Image(type="pil"), outputs=["text", "file"], title=title, description=description examples=[ ["Examples\Book.png"], ["Examples\News.png"], ["Examples\Manuscript.jpg"], ["Examples\Files.jpg"], ], ) demo.launch(debug=True)