import gradio as gr import PyPDF2 from io import BytesIO keywords = ["Youth Development", "Teacher", "Childcare Assistant", "Afterschool Counselor", "summer camp leader"] def extract_text_from_pdf(file): pdf_file_obj = BytesIO(file) pdf_reader = PyPDF2.PdfFileReader(pdf_file_obj) text = '' for page_num in range(pdf_reader.numPages): page_obj = pdf_reader.getPage(page_num) text += page_obj.extractText() return text def KeywordExtractor(file): text = extract_text_from_pdf(file) found_keywords = [keyword for keyword in keywords if keyword.lower() in text.lower()] return found_keywords description_text = "Extract relevant keywords from a resume. Created by A. Leschik." demo = gr.Interface(fn=KeywordExtractor, inputs=gr.inputs.File(label="Upload a PDF"), outputs="textbox", title="Resume Keyword Extractor", description=description_text) if __name__ == "__main__": demo.launch()