如何抓取数千个PDF文件中的表格?

13 投票
1 回答
11574 浏览
提问于 2025-04-18 15:57

我有大约1500个PDF文件,每个文件只有一页,而且结构都一样(可以参考这个例子:http://files.newsnetz.ch/extern/interactive/downloads/BAG_15m_kzh_2012_de.pdf)。

我想找到一种方法,能够遍历这些文件(如果可以的话,最好是在本地),并提取表格的实际内容(比如转成CSV格式,存到SQLite数据库里,或者其他方式)。

我希望能用Node.js来做这个,但我找不到合适的库来解析这些内容。你知道有什么库吗?

如果在Node.js中不行,我也可以用Python来编写代码,如果有更好的方法的话。

1 个回答

20

我之前不知道,less 竟然有这个神奇的功能,可以读取pdf文件。我用下面这个脚本成功提取了你提供的pdf里的表格数据:

import subprocess
import re

output = subprocess.check_output(["less","BAG_15m_kzh_2012_de.pdf"])

re_data_prefix = re.compile("^[0-9]+[.].*$")
re_data_fields = re.compile("(([^ ]+[ ]?)+)")
for line in output.splitlines():
    if re_data_prefix.match(line):
        print [l[0].strip() for l in re_data_fields.findall(line)]

撰写回答