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

PDF提取中的空白和奇怪的单词解释

如何解决PDF提取中的空白和奇怪的单词解释

您的PDF文件没有可打印的空格字符,只是将单词放置在需要的位置。您可能需要做一些额外的工作来找出空格,可能是假设多字符运行是单词,然后在它们之间放置空格。

如果您可以在PDF阅读器中选择文本,并正确显示空格,那么至少您知道有足够的信息来重构文本。

“ fi”是印刷的连字,显示为单个字符。您可能会发现“ fl”,“ ffi”和“ ffl”也会发生这种情况。您可以使用字符串替换将“ fi”替换为连字。

解决方法

使用下面的代码片段中,我试图从提取文本数据这个PDF文件。

import pyPdf

def get_text(path):
    # Load PDF into pyPDF
    pdf = pyPdf.PdfFileReader(file(path,"rb"))
    # Iterate pages
    content = ""
    for i in range(0,pdf.getNumPages()):
        content += pdf.getPage(i).extractText() + "\n"  # Extract text from page and add to content
    # Collapse whitespace
    content = " ".join(content.replace(u"\xa0"," ").strip().split())
    return content

但是,我获得输出在大多数单词之间没有空格。这使得很难对文本执行自然语言处理(我的最终目标在这里)。

同样,单词“ finger”中的“ fi”始终被解释为其他含义。这是相当有问题的,因为本文是关于手指的自发运动的。

有人知道为什么会这样吗?我什至不知道从哪里开始!

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