我在PDF文档中有一张大表,我想在“ php”中进行解析并将其插入数据库中-这是最终目标。我需要确保该表的保存非常准确。
到目前为止,稍微起作用的是将PDF导出为HTML并通过将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包含这些换行符,所以我知道也必须能够以某种方式解析它们!
我不确定是否有比HTML更好的方法来解析表格,并且表格的结构不是PDF。我已经尝试通过XML来做到这一点,但是我对XML格式没有很丰富的经验,因此我无法从中获得任何收益。
首先有没有更好的方法来导出数据?如果没有,如何确保保留当前方法的新行?