Spaces:
Sleeping
Sleeping
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) | |