resume-matcher / utils /pdf_processor.py
AdityaSahrawat's picture
Create utils/pdf_processor.py
7435103 verified
Raw
History Blame Contribute Delete
798 Bytes
import pdfplumber
def extract_text_from_pdf(pdf_path: str) -> str:
"""Extract text from PDF file"""
try:
with pdfplumber.open(pdf_path) as pdf:
text = "\n".join([
page.extract_text() or ""
for page in pdf.pages
])
return text.strip()
except Exception as e:
print(f"❌ PDF extraction error: {str(e)}")
return ""
def extract_section(text: str, keywords: list) -> str:
"""
Extract section from resume based on keywords
Returns first 1500 chars of section or beginning of text
"""
text_lower = text.lower()
for key in keywords:
if key in text_lower:
idx = text_lower.find(key)
return text[idx:idx+1500]
return text[:1500]