微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在使用Python解析PDF文件时,有什么方法可以识别出划掉的单词吗?

如何解决在使用Python解析PDF文件时,有什么方法可以识别出划掉的单词吗?

我正在使用PyMuPDF(顺便说一句很棒的库)来解析PDF文件

但是我需要找出被划掉的单词。

有什么办法吗?

解决方法

PyMUPDF 文档似乎没有讨论划掉(删除),除非在处理注释时,但他们确实讨论了这些“标志”。

bit 0: superscripted (20)
bit 1: italic (21)
bit 2: serifed (22)
bit 3: monospaced (23)
bit 4: bold (24)

所以很可能有一个未在文档中列出的删除代码。

访问这些代码的一种方法是通过使用垃圾邮件标签的 textPage 字典结构。有关这方面的更多信息,请参阅文档中的 6.18.1.4 Span Dictionary

我想从文档中提取粗体文本并编写此函数

def get_bold_text_from_PDF_page(page_number):
    '''
    Function to get bold text from PyMUPDF Page object
    Parameters:
            PyMUPDF doc generator object
    Returns:
            list of dictionaries each dictionary contains these fields:
            Size,flags,font,color,ascender,decender,text,origin,bbox,page_number
    '''
    blocks = fitz.Page.get_text(page_number,"dict",flags=11)["blocks"]
    page_bold_text_list = []
    for block in blocks:  
        for line in block["lines"]: 
            for span in line["spans"]: 
                if span['flags'] == 20:  # change the 20 here.
                    span['page_number'] = page.number  
                    page_bold_text_list.append(span)
                    print(page_bold_text_list)
    return page_bold_text_list

对我来说奇怪的是 20 是大胆的。

这个 Adob​​e 文档可能值得一读 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。