如何使用Python从PDF的特定区域提取文本?

Dev*_*she 5 python pdf python-2.7 pypdf2

我正在尝试使用Python从PDF提取文本,并且我已经成功地使用PyPDF2这样完成了操作:

import PyPDF2
pdfFileObj = open('path', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)
pageObj.extractText()
Run Code Online (Sandbox Code Playgroud)

这将从页面中提取所有文本,但是我只想从页面左上角3'x4'的矩形区域中提取文本。

我基本上想做类似的事情:如何从特定矩形区域内的pdf文档中提取文本?但是在Python中

可以通过PyPDF2或任何其他Python库完成此操作吗?

Joe*_*Joe 4

这是一个相当复杂的话题,但这是可能的。首先您需要熟悉pdf格式说明。

例如从这里开始。

您可以识别文本框的位置和内容并提取字符串数据。

主题包含 pyPdf(PyPDF2 的早期版本)的示例,但语法相似。有一些关于如何迭代间接对象的示例。

一个好的起点也是您使用的函数pageObj.extractText()的源代码。

如果您不限于Python:如何从PDF中提取文本?

您还可以使用iText RUPS等工具来检查 pdf。它显示了内容如何呈现并放置在页面上:

在此输入图像描述

之后,您应该能够识别和处理元素并提取其内容。