能提取毕业学校和专业吗
时间: 2024-02-20 15:56:04 浏览: 59
当然可以。下面是一个修改后的函数,它可以提取姓名、电子邮件地址、毕业学校和专业:
```python
import io
import pdfminer
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfparser import PDFParser
def extract_information_from_pdf(file_path):
# 打开PDF文件并创建PDF解析器
with open(file_path, 'rb') as file:
parser = PDFParser(file)
document = PDFDocument(parser)
# 创建PDF资源管理器和PDF设备
resource_manager = PDFResourceManager()
fake_file_handle = io.StringIO()
converter = TextConverter(resource_manager, fake_file_handle, laparams=LAParams())
# 创建PDF页面解释器并将其链接到PDF解析器
page_interpreter = PDFPageInterpreter(resource_manager, converter)
# 处理每一页
for page in PDFPage.create_pages(document):
page_interpreter.process_page(page)
# 获取提取的文本内容并关闭所有设备
text = fake_file_handle.getvalue()
converter.close()
fake_file_handle.close()
# 提取姓名、电子邮件地址、毕业学校和专业
lines = text.split('\n')
name = ''
email = ''
school = ''
major = ''
for line in lines:
if not name:
if 'Name:' in line:
name = line.split('Name:')[1].strip()
if not email:
if 'Email:' in line:
email = line.split('Email:')[1].strip()
if not school:
if 'School:' in line:
school = line.split('School:')[1].strip()
if not major:
if 'Major:' in line:
major = line.split('Major:')[1].strip()
return name, email, school, major
```
这个函数基本上与之前的函数相同,唯一的区别是它多了两个变量:school和major。它遍历提取的文本行,查找包含“School:”和“Major:”的行,并从这些行中提取学校和专业信息。你可以根据需要进行修改和调整。