Ali Abdullah
Create utils.py
820bafa verified
import fitz # PyMuPDF
import pdfplumber
from PIL import Image
import io
def extract_text_from_pdf(pdf_path):
try:
with pdfplumber.open(pdf_path) as pdf:
text = "\n".join([page.extract_text() for page in pdf.pages if page.extract_text()])
return text
except Exception as e:
return "Failed to extract text from resume."
def extract_image_from_pdf(pdf_path):
try:
doc = fitz.open(pdf_path)
for page in doc:
images = page.get_images(full=True)
for img in images:
xref = img[0]
base_image = doc.extract_image(xref)
image_bytes = base_image["image"]
return Image.open(io.BytesIO(image_bytes))
return None
except Exception as e:
return None
def load_job_description(path="data/job_desc.txt"):
try:
with open(path, "r", encoding="utf-8") as f:
return f.read()
except FileNotFoundError:
return "No job description found."