gpt4 book ai didi

python 和 pyPdf - 如何从页面中提取文本以便行与行之间有空格

转载 作者:太空狗 更新时间:2023-10-30 01:30:38 29 4
gpt4 key购买 nike

目前,如果我使用 pyPdf 和 extractText() 创建一个 pdf 页面的页面对象,会发生什么行被连接在一起。例如,如果页面的第 1 行说“hello”而第 2 行说“world”,则从 extractText() 返回的结果文本是“helloworld”而不是“hello world”。有谁知道如何解决这个问题,或者有解决方法的建议?我真的需要文本在行之间有空格,因为我正在对这个 pdf 文本进行文本挖掘并且行之间没有空格会杀死它....

最佳答案

这是pdf解析的一个常见问题。您还可以期待在某些情况下必须修复的尾随破折号。我为我的一个项目想出了一个解决方法,我将在此处简要介绍:

我用了pdfminer从 PDF 中提取 XML 并在 XML 中找到连接的单词。我提取了与 HTML 相同的 PDF,HTML 可以用以下正则表达式的行来描述:

<span style="position:absolute; writing-mode:lr-tb; left:[0-9]+px; top:([0-9]+)px; font-size:[0-9]+px;">([^<]*)</span>

跨度是绝对定位的,并且有一个顶部样式,您可以使用它来确定是否发生换行。如果发生换行并且最后一行的最后一个单词没有结尾破折号,您可以将最后一行的最后一个单词和当前行的第一个单词分开。它在细节上可能很棘手,但您也许能够修复几乎所有的文本解析错误。

此外,您可能希望运行像 enchant 这样的字典库在您的文本上查找错误,如果字典建议的修复类似于错误词但某处有空格,则错误词很可能是解析错误,可以使用字典建议进行修复。

解析 PDF 很糟糕,如果您找到更好的来源,请使用它。

关于python 和 pyPdf - 如何从页面中提取文本以便行与行之间有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1672466/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com