Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -3,7 +3,7 @@ import streamlit as st
|
|
| 3 |
from openai import OpenAI
|
| 4 |
import os
|
| 5 |
from dotenv import load_dotenv
|
| 6 |
-
import
|
| 7 |
from PIL import Image
|
| 8 |
import io
|
| 9 |
import tempfile
|
|
@@ -14,15 +14,25 @@ load_dotenv()
|
|
| 14 |
client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))
|
| 15 |
|
| 16 |
def convert_pdf_to_images(pdf_file):
|
| 17 |
-
"""Convert PDF to list of images"""
|
|
|
|
| 18 |
with tempfile.NamedTemporaryFile(delete=False, suffix='.pdf') as tmp_file:
|
| 19 |
tmp_file.write(pdf_file.getvalue())
|
| 20 |
pdf_path = tmp_file.name
|
| 21 |
-
|
| 22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
os.unlink(pdf_path)
|
| 24 |
return images
|
| 25 |
|
|
|
|
| 26 |
def format_response(text):
|
| 27 |
"""Format the analysis response with clean styling"""
|
| 28 |
formatted_text = ""
|
|
|
|
| 3 |
from openai import OpenAI
|
| 4 |
import os
|
| 5 |
from dotenv import load_dotenv
|
| 6 |
+
import fitz
|
| 7 |
from PIL import Image
|
| 8 |
import io
|
| 9 |
import tempfile
|
|
|
|
| 14 |
client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))
|
| 15 |
|
| 16 |
def convert_pdf_to_images(pdf_file):
|
| 17 |
+
"""Convert PDF to list of images using PyMuPDF"""
|
| 18 |
+
images = []
|
| 19 |
with tempfile.NamedTemporaryFile(delete=False, suffix='.pdf') as tmp_file:
|
| 20 |
tmp_file.write(pdf_file.getvalue())
|
| 21 |
pdf_path = tmp_file.name
|
| 22 |
+
|
| 23 |
+
pdf_document = fitz.open(pdf_path)
|
| 24 |
+
for page_number in range(pdf_document.page_count):
|
| 25 |
+
page = pdf_document[page_number]
|
| 26 |
+
pix = page.get_pixmap()
|
| 27 |
+
img_data = pix.tobytes("png")
|
| 28 |
+
image = Image.open(io.BytesIO(img_data))
|
| 29 |
+
images.append(image)
|
| 30 |
+
|
| 31 |
+
pdf_document.close()
|
| 32 |
os.unlink(pdf_path)
|
| 33 |
return images
|
| 34 |
|
| 35 |
+
|
| 36 |
def format_response(text):
|
| 37 |
"""Format the analysis response with clean styling"""
|
| 38 |
formatted_text = ""
|