如何在数千个PDF文件中刮取表格?

时间:2014-08-04 18:27:10

标签: python node.js parsing pdf scraper

我有大约1到500张PDF,每张只包含1页,并且展示了相同的结构(例如,请参阅http://files.newsnetz.ch/extern/interactive/downloads/BAG_15m_kzh_2012_de.pdf)。

我正在寻找的是迭代所有这些文件的方法(如果可能的话,在本地)并提取表的实际内容(作为CSV,存储到SQLite DB中,无论如何)。

我很乐意在Node.js中这样做,但是找不到任何合适的库来解析这些东西。你知道吗?

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

1 个答案:

答案 0 :(得分:17)

我以前不知道这一点,但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)]