47

Вопрос по pdf, php – Читайте PDF файлы с помощью PHP

У меня есть большой PDF-файл, который представляет собой план здания. Он имеет слои для всей офисной мебели, включая текстовые поля с расположением сидений.

Моя цель - прочитать этот файл на PHP, найти в документе текстовые слои, получить их содержимое и координаты в файле. Таким образом, я могу наметить расположение мест - & gt; координаты х / у.

Есть ли способ сделать это через PHP? (Или даже Ruby или Python, если это то, что нужно)

  • Вот почему "в первую очередь основано на мнении" вопросы вне пределов здесь в первую очередь. Кроме того, я не думаю, что в выражении своего мнения по 6-летнему вопросу есть что-то плохое, но я согласен в этом случае, что голосование против будет глупым. Так что я проголосовал за тебя :)

    от
  • При поиске моих собственных ответов я наткнулся на эту информацию, и в то время я не искал возраст информации. Этот сайт является хорошим ресурсом, но только если информация верна.

    от
  • Я пробовал эту библиотеку. Многие файлы PDF не анализируются этой библиотекой, иначе она работает

    от
  • Часто задаваемые вопросы fpdf гласят: «18. Я хотел бы создать поисковую систему на PHP и проиндексировать PDF-файлы. Могу ли я сделать это с FPDF? Количество & Quot; В то время как OP не ищет поисковую систему, этот Q & amp; A демонстрирует неспособность fpdf анализировать текстовые элементы из pdf, что и ищут OP и я. Ваше решение не является решением исходного вопроса, и теперь, похоже, невежество распространяется. Крайне важно, чтобы информация на этом сайте оставалась точной, иначе это еще один «ответ Yahoo».

    от
  • привет @Nate! Я добавил в ответ библиотеку парсера pdf. Спасибо за отрицательный ответ на 6-летний ответ!

    от
  • Эй, вы можете опубликовать пример кода, как добиться своих результатов. Я не смог найти надлежащую документацию. Было бы здорово.

    от
  • это не по теме

    от
  • Что касается разбора PDF в php, fpdf не хватает, в то время как pdfparserpdfparser.org/documentation имеет чистый и интуитивно понятный интерфейс программирования

    от
  • Извините, но это Java, а не PHP: - /

    от
  • Здравствуйте, вы нашли ответ на свой вопрос? Потому что я застрял в проблеме симиллара и не могу найти решение ... И если вы нашли такое, не могли бы вы сказать мне, как вы получили координаты изображений из файла PDF? ..

    от Pigalev Pavel
  • @PigalevPavel Извините, я не сделал :(

    от Ryan Doherty
  • Содержит ли код разметки «координаты»? Если нет, вы можете искать столько, сколько хотите. PHP не может найти пиксельные координаты PDF-файла. Попытайтесь объяснить свою «проблему» немного более подробно, может быть, с помощью изображения и т. д.

    от Julius F
5 ответов
  • 0

    Вы также можете попробовать это приложение

    http://pdfbox.apache.org/, Рабочий пример можно найти наhttps://www.jinises.com

  • 0

    Хм ... не совсем php

    но вы можете вызвать программу из php, чтобы преобразовать pdf во временный html-файл, а затем проанализировать полученный файл с помощью php. Я сделал что-то похожее для моего проекта, и это программа, которую я использовал:

    PdfToHtml

    Что хорошо в программе, так это то, что она будет выплевывать текстовые элементы в & lt; div & gt; теги с абсолютными координатами позиции. Похоже, это именно то, что вы пытаетесь сделать.

  • 31

    Проверьте 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

  • 0

    Ваш первоначальный запрос "У меня есть большой PDF-файл

    который представляет собой план здания. & Quot;

    Я боюсь сказать вам, что это может быть сложнее, чем вы думаете.

    причинаthe last known lib everyones use to parse pdf is smalot, and this one is known to encounter issue regarding large file.

    Здесь также, ищите настоящую php-библиотеку для анализа pdf, без какого-либо пика памяти, для которого требуется конфигурация php, чтобы отключить ограничение памяти, как многие «разработчики» делает (что, я думаю, на самом деле не рекомендуется).

    см. этот пост для более подробной информации о производительности smalot:https://github.com/smalot/pdfparser/issues/163

  • 21

    Существует библиотека php (pdfparser)

    которая делает именно то, что вы хотите.

    project website

    http://www.pdfparser.org/

    github

    https://github.com/smalot/pdfparser

    Demo page/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
    
    ?>
    

    Одновременно вы можете получить метаданные из pdf, а также получить объекты pdf (например, изображения).