Чтение pdf файлов с помощью php
У меня есть большой файл PDF, который представляет собой карту пола для здания. Он имеет слои для всей офисной мебели, включая текстовые окна места расположения.
Моя цель - прочитать этот файл с помощью PHP, выполнить поиск документа для текстовых слоев, получить их содержимое и координаты в файле. Таким образом, я могу определить расположение мест → x/y.
Есть ли способ сделать это через PHP? (Или даже Ruby или Python, если это необходимо)
Ответы
Ответ 1
Проверьте FPDF (с FPDI):
http://www.fpdf.org/
http://www.setasign.de/products/pdf-php-solutions/fpdi/
Это позволит вам открыть PDF файл и добавить в него контент на PHP. Я предполагаю, что вы также можете использовать их функциональные возможности для поиска через существующий контент для необходимых значений.
Другая возможная библиотека - TCPDF: http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf
Обновить, чтобы добавить более современную библиотеку: PDF Parser
Ответ 2
Существует библиотека php (pdfparser), которая делает именно то, что вы хотите.
веб-сайт проекта
http://www.pdfparser.org/
GitHub
https://github.com/smalot/pdfparser
Демо-страница/api
http://www.pdfparser.org/demo
После включения pdfparser в ваш проект вы можете получить весь текст из mypdf.pdf
следующим образом:
<?php
$parser = new \installpath\PdfParser\Parser();
$pdf = $parser->parseFile('mypdf.pdf');
$text = $pdf->getText();
echo $text;//all text from mypdf.pdf
?>
Simular вы можете получить метаданные из PDF так же, как получить PDF-объекты (например, изображения).
Ответ 3
Хмм... не точно php, но вы можете вызвать программу из php, чтобы преобразовать pdf в временный html файл, а затем проанализировать полученный файл с помощью php. Я сделал что-то подобное для моего проекта, и это программа, которую я использовал:
PdfToHtml
Что круто о программе, так это то, что она будет выплевывать текстовые элементы в <div> с абсолютными координатами положения. Похоже, это именно то, что вы пытаетесь сделать.
Ответ 4
Возможно, вы захотите также попробовать это приложение http://pdfbox.apache.org/. Рабочий пример можно найти на https://www.jinises.com