Недавно столкнулся с такой необходимостью, аж подприфигел с напряга. Это был наверное самый сложный прецедент для парсинга за
Думал, щас на пофиг вкачусь, выдерну голенький текст из файла и пройдусь регулярками. Ага, настолько путь в никуда, что даже и браться наверное не стоило (понял это примерно на 15-ой регулярке, т.к. набор столбцов у записей разный и формально под каждый тип строк нужна своя регулярка). В один момент даже OCR хотел подрубать.
В итоге решил проблемку по другому, правда пришлось распарсивать набор сущностей в PDF'ке. Размер страницы у PDF документов фиксированный, поэтому у каждого элемента на странице есть свои координаты.
Благо ширина столбцов в таблицах одинаковая, поэтому вывез чисто за счет смещений по X.
