Как разобрать PDF с сохраненной разметкой? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть большая таблица в документе PDF, которую я хотел бы проанализировать в «php» и вставить в базу данных - это конечная цель.Мне нужно убедиться, что таблица сохранена чрезвычайно точно.

До сих пор немного сработал экспорт PDF как HTML и синтаксический анализ файла HTML путем разбивки его на теги и повторного заполнения таблицы следующим образом:

foreach ($domTables as $table)
{
    $tableTR = $table -> getElementsByTagName("tr");

     echo "<table>";

     foreach ($tableTR as $tr) {

        $tableTD = $tr -> getElementsByTagName("td");

        echo "<tr>";

        foreach ($tableTD as $td) {

            echo "<td>";

            //echo $td -> nodeValue, PHP_EOL;

            $ex = explode("\n", DOMinnerHTML($td));

            for ($i = 0; $i < sizeof($ex); $i++) {

                echo $ex[$i], PHP_EOL;

            }

            echo "</td>";

        }

        echo "</tr>";

     }

     echo "</table>";

 }

Это прекрасно работает, за исключением того, что отдельные ячейки "td" содержат строки текста на каждой новой строке в исходном формате:

<table>
   <tr>
      <td>
           Line 1
           Line 2
           Line 3
           ...
      </td>
   </tr>
</table>

Но когда я их анализируюновые строки не сохраняются, и все заключено в одну строку, и я практически не могу процедурно определить конец одной строки и начало другой.Тем не менее, поскольку исходный PDF-файл содержит эти разрывы строк, я знаю, что должен быть в состоянии их также как-то проанализировать!

Я не уверен, что есть лучший способ для анализа таблицы и ее структуры вне PDF, чемHTML.Я пытался сделать это через XML, но я не очень разбираюсь в формате XML, поэтому я не смог ничего из этого извлечь.

Есть ли лучший способ экспортировать данные впервое место?Если нет, то как мне сохранить новые строки текущего метода?

...