0

我正在尝试从 PDF 中获取目录。我为此目的使用 PyMuPDF。但仅当 PDF 包含书签时,它才会提取 ToC。否则它只会导致一个空列表。

def get_Table_Of_Contents(doc):
    toc = doc.getToC()
    return toc
toc= get_Table_Of_Contents(file)
toc
4

2 回答 2

0

使用 pdf-html 转换器将 pdf 转换为 html。您可以使用 beautifulsoup 之类的解析器解析 html 以提取您想要的任何数据。

于 2020-11-06T02:14:08.297 回答
0

通常 TOC 表示为页面上的常规文本。

尝试使用 pdfreader提取文本和/或 PDF “markdown”。

这是从页面中提取上述所有内容的示例代码:

from pdfreader import SimplePDFViewer, PageDoesNotExist

fd = open(your_pdf_file_name, "rb")
viewer = SimplePDFViewer(fd)

# navigate to TOC
viewer.navigate(toc_page_number)

viewer.render()
pdf_markdown = viewer.canvas.text_content
plain_text = "".join(viewer.canvas.strings)

然后你可以解析plain_textpdf_markdown作为常规字符串。

于 2020-11-14T01:40:39.473 回答