Spaces:
Running
Running
import gradio as gr | |
import fitz # PyMuPDF for handling PDF files | |
def process_pdf(file, option): | |
if file is None: | |
return "Please upload a PDF file." | |
try: | |
# Open the PDF file | |
doc = fitz.open(file.name) | |
text = "" | |
for page in doc: | |
text += page.get_text() | |
doc.close() | |
# Process based on the selected option | |
if option == "Option 1": | |
return f"Option 1 selected. Extracted text:\n{text[:500]}..." # Truncated for brevity | |
elif option == "Option 2": | |
return f"Option 2 selected. Extracted text:\n{text[:500]}..." # Truncated for brevity | |
else: | |
return "Invalid option selected." | |
except Exception as e: | |
return f"An error occurred: {e}" | |
# Define the Gradio interface | |
demo = gr.Interface( | |
fn=process_pdf, | |
inputs=[ | |
gr.File(label="Upload PDF"), # File upload input | |
gr.Radio(["Option 1", "Option 2"], label="Choose an option") # Radio buttons for options | |
], | |
outputs="text", # Text output | |
title="PDF Processor", | |
description="Upload a PDF and choose an option to process the text." | |
) | |
demo.launch() | |