Spacy - pdf_reader 仅从特定页面提取文本

问题描述 投票:0回答:1

您能告诉我下面的函数有什么问题吗?我只想解析 pdf 的前两页。当我使用参数 page_numbers=[0,1] 调用该函数时,它无论如何都会从所有页面中提取文本。

该功能非常慢,我想限制解析的页面数量。

def spacy_extractor(label, pattern_name, list_name, pdf_path, pdf_name,
                    filtered_list,page_numbers):

    patterns = [{'label': label, 'pattern': pattern_name} for pattern_name in list_name]
    ruler.add_patterns(patterns)
    doc = pdf_reader(os.path.join(pdf_path, pdf_name), nlp, PdfminerParser, page_numbers)
    filtered_list = [ent.text for ent in doc.ents if ent.label_ == label]

    return filtered_list[0] if filtered_list else None

cover_page_legal_form = spacy_extractor(label='LEG', pattern_name= 'legal_form', list_name=legal_form_list,
                                         pdf_path=fs_path_pdf, pdf_name=fs_name_pdf, filtered_list='legal_forms_filtered',page_numbers=[0,1])

谢谢你,

spacy spacy-3 pdf-reader
1个回答
0
投票

按照给出的文档链接,您可以使用

访问特定文档/页面

doc._.page_range方法.

https://spacy.io/universe/project/spacypdfreader

© www.soinside.com 2019 - 2024. All rights reserved.