【问题标题】:GET table of contents from a PDF with python使用 python 从 PDF 获取目录
【发布时间】:2020-11-05 15:16:17
【问题描述】:

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

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

【问题讨论】:

  • 我也面临同样的情况。如果 PDF 不包含书签,您是否找到任何提取 ToC 的方法

标签: python pdf text nlp pymupdf


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    通常 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 解析为常规字符串。

    【讨论】:

      猜你喜欢
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2019-10-18
      • 2013-09-26
      • 2019-02-25
      • 2012-06-04
      相关资源
      最近更新 更多