Как очистить таблицы в тысячах PDF файлов?

У меня около 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

Я не знал этого раньше, но less обладает этой магической способностью читать pdf файлы. Мне удалось извлечь данные таблицы из вашего примера pdf с помощью этого script:

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)]