0

(我知道 pdfplumber 主要面向计算机生成的 PDF。但是,在我花了几天时间从扫描的 PDF 中手动输入数据之前,我想我会问 pdfplumber 是否能以某种方式帮助我。)

我的问题:
我从历史书籍中扫描了 PDF。
示例:来自统计年鉴的数据
现在我正在尝试从扫描的 PDF 中提取表格(示例中右下角的那个)。

我第一次尝试用 pdfplumber 提取表格没有成功。
例如

with pdfplumber.open('test.pdf') as pdf:
page = pdf.pages[0]
tables = page.extract_tables()
print(tables)

回来None

有没有希望我能够非手动提取这种数据?还是我应该把它吸干?

提前感谢您的任何帮助或建议!

4

1 回答 1

0

不,扫描的 pdf 里面实际上包含一个图像。您可以阅读如下所示的图像,但这无助于您获取数据。您可以使用一些可以分析图像的工具来获取数据,但这是一个不同的故事。

from pikepdf import Pdf, PdfImage

filename = "sample-in.pdf"
example = Pdf.open(filename)

for i, page in enumerate(example.pages):
    for j, (name, raw_image) in enumerate(page.images.items()):
        image = PdfImage(raw_image)
        out = image.extract_to(fileprefix=f"{filename}-page{i:03}-img{j:03}")

如果您必须获取该数据,此问题也可以帮助您了解使用什么以及如何使用

于 2021-11-18T14:55:37.060 回答