php чтение pdf файла
Извлечение текста из PDF файла в PHP
Порой бывает необходимо извлечь текст из PDF файла средствами PHP и далее я Вам покажу пример скрипта, который решаете данную проблему.
Устанавливаем необходимую библиотеку:
composer require smalot/pdfparser
Обратите внимание на то, что текст, который Вы получите из pdf файла не будет иметь исходного форматирования документа. Однако это не так уж и важно, чтобы извлечь из текста интересующие Вас данные.
Если в PDF файле несколько страниц, то можно пройтись по каждой странице по отдельности:
А здесь можно получить метаданные PDF файла:
Вот так просто можно, например, автоматизировать обработку большого количества PDF файлов в PHP, извлекая из них необходимые данные.
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Комментарии ( 0 ):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2021 Русаков Михаил Юрьевич. Все права защищены.
Чтение pdf-файлов с помощью php
У меня есть большой PDF-файл, который является картой этажа для здания. Оно имеет слои для всей офисной мебели включая текстовые коробки положения места.
есть ли способ сделать это через PHP? (Или даже Ruby или Python, если это необходимо)
5 ответов
Проверьте FPDF (с FPDI):
Они позволят вам открыть pdf-файл и добавить в него контент на PHP. Я предполагаю, что вы также можете использовать их функциональность для поиска по существующему контенту необходимых вам значений.
обновление для добавления более современной библиотеки:PDF Parser
существует библиотека php (pdfparser), которая делает именно то, что вы хотите.
сайт проекта
github
демо-страница / api
после включения pdfparser в ваш проект вы можете получить весь текст из mypdf.pdf вот так:
Simular вы можете получить метаданные из pdf как wel, как получение объектов pdf (например, изображений).
что круто в программе, так это то, что она будет выплевывать текстовые элементы в тегах с абсолютными координатами положения. Похоже, это именно то, что вы пытаетесь сделать.
вы можете также попробовать это приложение http://pdfbox.apache.org/. Рабочий пример можно найти вhttps://www.jinises.com
ваш первоначальный запрос: «у меня есть большой PDF-файл, который является картой этажа для здания. «
Я боюсь сказать вам, что это может быть сложнее, чем вы думаете.
причина последнее известное использование lib everyones для разбора pdf-это smalot, и этот, как известно, сталкивается с проблемой большого файла.
здесь тоже ищите реальный PHP lib для разбора pdf, без какого-либо пика памяти, который нуждается в конфигурации php, чтобы отключить ограничение памяти как много «разработчики» (что, я думаю, действительно не рекомендуется).
Как с помощью PHP можно распарсить PDF?
Задача: открыть документ и получить удобоваримый текст.
Опробовано: всё. Действительно всё, у меня весь гугл в сиреневых ссылках и даже контекстная реклама меня уже жалеет и предлагает купить ридер пдф книг.
Помимо PHP готов использовать любую другую технологию которая даст гарантированный результат. Но все же не хотелось бы уходить от родного для проекта языка.
Хардкорный вариант с написанием парсера с нуля по спекам формата не особо желателен в силу запутанности формата и зоопарка версий.
Пока нет ничего что бы работало 🙁
Как вы себе представляете такое преобразование, если в PDF текст хранится строками с определенными координатами, а не абзацами, например? Также текст может храниться картинкой или векторным форматом. Таблицы хранятся набором кусков текста и линиями. Заголовок — просто строка текста чуть большего размера.
Чтобы восстановить логическую структуру текста, надо систему вроде той, которая используется в продуктах fineReader. Систем эта сложная и на ее разработку у Abbee ушла куча денег, вряд ли вы сможете решить задачу проще. А без этого максимум, что вы можете вытащить из файла — это набор блоков вида «строчка такого-то текста расположена по таким-то координатам». Текст может быть разбит переносами.
Абзацы, конечно, еще можно из этого как-то восстановить, выстроив строчки по возрастанию координат, но переносы останутся, а любые нестандартные вещи, вроде подписи к картинке, будут ломать этот алгоритм.
Резюмируя, выберите другой исходный формат, или откажитесь от мысли преобразовать PDF в осмысленный текст, преобразуйте его в картинку например. Иначе вы всю жизнь будете дописывать костыли, как только кто-то захочет подснуть вашей системе текст, сверстанный другим способом.
Чтение pdf-файлов с помощью php
У меня есть большой файл PDF, который представляет собой карту пола для здания. Он имеет слои для всей офисной мебели, включая текстовые окна с местом расположения сиденья.
Есть ли способ сделать это через PHP? (Или даже Ruby или Python, если это то, что необходимо)
Ответов: 5
Проверьте FPDF (с FPDI):
Они позволят вам открыть PDF-файл и добавить в него контент на PHP. Я предполагаю, что вы также можете использовать свою функциональность для поиска через существующий контент для нужных вам значений.
Обновить, чтобы добавить более современную библиотеку: PDF Parser
Существует php-библиотека (pdfparser), которая делает именно то, что вы хотите.
сайт проекта
GitHub
Демо-страница / api
После включения pdfparser в ваш проект вы можете получить весь текст mypdf.pdf так:
Simular вы можете получить метаданные из PDF так же, как получение PDF-объектов (например, изображений).
Что круто о программе, так это то, что она будет выплевывать текстовые элементы в тегах
ваш первоначальный запрос: «У меня большой PDF-файл, который представляет собой карту пола для здания».
Я боюсь сказать вам, что это может быть сложнее, чем вы предполагаете.
Здесь также Lookig для реального php lib для синтаксического анализа pdf, без пика памяти, которому нужна конфигурация php, чтобы отключить ограничение памяти, как это делает множество «разработчиков» (что, на мой взгляд, действительно нецелесообразно).
Заметки Лёвика
web программирование, администрирование и всякая всячина, которая может оказаться полезной
Как прочитать pdf в PHP. Как сохранить php в PDF
Ранее рассмотренные сохранить Pdf как и работа с Excel в PHP могут оказаться полезными.
Сохраняем PDF-документ при помощи PHP
Для сохранения PDF в PHP можно воспользоваться стандартными функциями PHP
# php 4
$p = PDF_new();
PDF_begin_document($p, «», «»);
# php 5
$p = new PDFlib();
$p->begin_document(«», «»);
Более подробно можно ознакомиться в документации PHP
http://www.php.net/manual/en/book.pdf.php
Чтение информации из PDF-документа в PHP
Для сохранения текста из PDF-документа можно воспользоваться сторонними утилитами. Например, в наборе утилит http://www.foolabs.com/xpdf/about.html XPDF есть программа pdftotext, которая позволяет сохранить текст в PHP. Если дело происходит на VDS, то, думаю, проблем с установкой и правами на выполнение программы возникнуть не должно
Аналогичный способ помимо работы с Word в PHP можно использовать и для WORD документов (программа Antiword http://www.winfield.demon.nl/)
Кроме того, есть специальные библиотеки для работы с PDF в PHP.
Опубликовано Воскресенье, Декабрь 2, 2012 в 01:01 в следующих категориях: Без рубрики. Вы можете подписаться на комментарии к этому сообщению через RSS 2.0. Вы можете оставить комментарий. Пинг отключен.
Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)
html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)
ссылка (для отправки по почте)