У меня есть большой файл PDF, который представляет собой карту пола для здания. Он имеет слои для всей офисной мебели, включая текстовые окна с местом расположения сиденья.
Моя цель – прочитать этот файл с помощью PHP, выполнить поиск документа для текстовых слоев, получить их содержимое и координаты в файле. Таким образом, я могу определить расположение мест -> x / y.
Есть ли способ сделать это через PHP? (Или даже Ruby или Python, если это то, что необходимо)
Проверьте FPDF (с FPDI):
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
Существует php-библиотека (pdfparser), которая делает именно то, что вы хотите.
сайт проекта
GitHub
https://github.com/smalot/pdfparser
Демо-страница / api
После включения 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-объектов (например, изображений).
Хм … не точно php, но вы можете вызвать программу из php, чтобы преобразовать pdf в временный html-файл, а затем проанализировать полученный файл с помощью php. Я сделал что-то подобное для моего проекта, и это программа, которую я использовал:
PdfToHtml
Что круто о программе, так это то, что она будет выплевывать текстовые элементы в тегах <div> с абсолютными координатами положения. Похоже, это именно то, что вы пытаетесь сделать.
Возможно, вы захотите попробовать это приложение http://pdfbox.apache.org/ . Рабочий пример можно найти на https://www.jinises.com