Чем можно распарсить doc (docx), pdf на PHP?

На данный момент стоит задача распарсить содержимое Word-документа, а именно — там большая таблица (не спрашивайте почему не в экселе, не я автор исходного материала) и нужно считать значения всех её ячеек, причём нужно будет ещё понять что к чему относится (оно построена по типу таблицы умножения Пифагора — на пересечении строк и столбцов искомые данные).

С pdf — все тоже самое: нужен текст, таблица, картинки…

Какие библиотеки для PHP посоветуете?
  • Вопрос задан
  • 14996 просмотров
Пригласить эксперта
Ответы на вопрос 4
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
С DOCX все проще — это просто сжатый контейнер содержащий XML файлы, из которых уже можно распарсить данные. Библиотек массы, нужно смотреть по требуемому функционалу.

А вот PDF — знаю только о FPDF. Я бы рекомендовал найти какой-либо инструмент на подобии PDF2HTML и из PHP просто выполнять команду для выдирания информации.
Ответ написан
barker
@barker
Для docx решений куча, как выше сказали. А pdf, очевидно, в общем случае разобрать на «текст, таблица, картинки» невозможно. Вернее, возможно, но ограничено.
Ответ написан
Комментировать
AterCattus
@AterCattus
Люблю быстрый backend
PDF мне доводилось разбирать после pdftohtml. Таблиц там нет — компоновку можно выяснять по координатам в стилях. Криво и неудобно, но другого решения я не нашел.
Выдача в xml формате, имхо, получается удобнее для парсинга.
Ответ написан
Комментировать
Насчет pdf уже много сказали. Насчет Doc / Docx —
1) habrahabr.ru/post/138666/
habrahabr.ru/post/140012/

Тут достаточно толково описано, как все это устроено изнутри

2) Где то из этой же серии статей было и про .doc

3) Мой вам совет www.phpdocx.com/
В свое время тоже думали, что проще руками все сделать. Там есть бесплатная версия. Для большинства простых задач ее должно хватить.

PS но про то, как все устроено, все равно почитайте.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽