相关疑难解决方法(0)

378
推荐指数
9
解决办法
32万
查看次数

使用Python中的PDFMiner从PDF文件中提取文本?

Python版本2.7

我正在寻找有关如何使用PDFMiner和Python从PDF文件中提取文本的文档示例.

看起来PDFMiner更新了他们的API,我发现的所有相关示例都包含过时的代码(类和方法已经改变).我发现的库使得从PDF文件中提取文本的任务更容易使用旧的PDFMiner语法,所以我不知道如何做到这一点.

事实上,我只是看源代码,看看能否解决它.

python text-extraction pdfminer

71
推荐指数
4
解决办法
10万
查看次数

空格从PDF提取和奇怪的单词解释中消失了

使用下面的代码片段中,我试图从提取文本数据这个 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
Run Code Online (Sandbox Code Playgroud)

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

此外,"手指"一词中的"fi"一直被解释为其他内容.这是相当有问题的,因为这篇论文是关于自发的手指运动......

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

python pdf unicode pypdf

9
推荐指数
4
解决办法
8100
查看次数

使用Python pdfMiner每页提取文本?

我已经尝试了pyPdf和pdfMiner来从pdf文件中提取文本.我有一些不友好的pdf,只有pdfMiner才能成功提取.我在这里使用代码来提取整个文件的文本.但是,我真的想在每页基础上提取文本,就像getPage(i).extractText()pyPdf中的功能一样.有谁知道如何使用pdfMiner提取每页文本?

python pdf

8
推荐指数
2
解决办法
1万
查看次数

PDFminer:使用其字体信息提取文本

我发现这个问题,但它使用命令行,我不想使用子进程在命令行中调用Python脚本并解析HTML文件以获取字体信息.

我想使用PDFminer作为库,我发现这个问题,但它们只是提取纯文本,没有其他信息,如字体名称,字体大小等.

python text-extraction pdfminer

8
推荐指数
3
解决办法
9070
查看次数

PDFminer 从每页的标题中获取字体大小(迭代)

我对 python 和 PDFminer 很陌生,这对我来说有点复杂,我想要实现的是从 pdf 文件或幻灯片中提取每个页面的标题。

\n

我的方法是获取文本行和每页字体大小的列表,然后我将选择最大的数字作为通常以较高字体大小编写的幻灯片标题。

\n

这就是我到目前为止所做的:

\n

假设我想从这个 pdf 文件中获取第 8 页的标题。文件样本

\n

第 8 页内容如下所示:

\n

在此输入图像描述

\n

这是获取所有页面每行字体大小的代码:

\n
from pdfminer.high_level import extract_pages\nfrom pdfminer.layout import LTTextContainer, LTChar,LTLine,LAParams\nimport os\npath=r\'cov.pdf\'\n\nExtract_Data=[]\n\nfor page_layout in extract_pages(path):\n    for element in page_layout:\n        if isinstance(element, LTTextContainer):\n            for text_line in element:\n                for character in text_line:\n                    if isinstance(character, LTChar):\n                        Font_size=character.size\n            Extract_Data.append([Font_size,(element.get_text())])\n
Run Code Online (Sandbox Code Playgroud)\n

生成的列表Extract_Data适用于 pdf 文档的所有页面。我的问题是如何获取文档每个页面(迭代)的列表?

\n

仅第 8 页的预期输出,依此类推,每个页面/然后如果我想选择页面标题,它将是字体大小值最高的项目(行):

\n
[[32.039999999999964, \'Pandemic declaration \\n\'],\n [24.0, \' \\n\'],\n [24.0, \' \\n\'],\n [24.0,\n …
Run Code Online (Sandbox Code Playgroud)

python pdf python-3.x pdfminer

1
推荐指数
1
解决办法
1042
查看次数