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

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

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

Какие библиотеки для PHP посоветуете?
  • Вопрос задан
  • 11454 просмотра
Пригласить эксперта
Ответы на вопрос 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 но про то, как все устроено, все равно почитайте.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
ООО РК Роял Набережные Челны
от 35 000 до 50 000 руб.
ISS Москва
До 140 000 руб.
CENTRA Новокузнецк
от 50 000 руб.