| 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() | |