gradio / app.py
NafishZaldinanda's picture
Update app.py
bbd79ed verified
import gradio as gr
from pdf2image import convert_from_path
from PIL import Image
def process_file(file, file_type):
if file is None:
return None, "File tidak diunggah dengan benar. Silakan coba lagi."
if file_type == "PDF":
try:
# Mengonversi PDF ke gambar
images = convert_from_path(file.name)
# Menyimpan gambar pertama sebagai output
image = images[0] # Mengambil halaman pertama
return image, None
except Exception as e:
return None, f"Terjadi kesalahan saat memproses file PDF: {str(e)}"
elif file_type == "Image":
try:
# Menampilkan gambar
image = Image.open(file.name)
return image, None
except Exception as e:
return None, f"Terjadi kesalahan saat memproses file gambar: {str(e)}"
# Buat antarmuka Gradio
file_type_radio = gr.Radio(choices=["Image", "PDF"], label="Pilih tipe file")
file_input = gr.File(label="Unggah file", file_types=["image", "pdf"])
interface = gr.Interface(
fn=process_file,
inputs=[file_input, file_type_radio],
outputs=[gr.Image(type="pil", label="Hasil Gambar"), gr.Textbox(label="Hasil PDF")],
title="Proses File Gambar dan PDF",
description="Pilih tipe file dan unggah file gambar atau PDF untuk diproses."
)
# Jalankan antarmuka dengan opsi share=True
interface.launch(share=True)