使用PHP将PDF文档(.pdf)转换为EXCEL文档(.XLXS)

时间:2020-06-21 09:29:54

标签: php html web

我有一组pdf文档,我需要将文件转换为excel。当我尝试转换那些我无法转换的文件时,它说明失败。因此,我尝试将所有正在转换的数据转换为HTML标记,但是它将整个文档更改为P标记。我已经附上了HTML标签的示例响应。请建议我一些在php中将pdf转换为excel的方法。

我已经使用了this

<p class="ft00" style="margin: 0; padding: 0; font-size: 11px; font-family: Times; color: #000000; position: absolute; top: 863px; left: 683px; white-space: nowrap;"><b>10</b></p>
<p class="ft01" style="margin: 0; padding: 0; font-size: 9px; font-family: Times; color: #000000; -moz-transform: matrix(         0,         -1,  0.9999875,          0, 0, 0); -webkit-transform: matrix(         0,         -1,  0.9999875,          0, 0, 0); -o-transform: matrix(         0,         -1,  0.9999875,          0, 0, 0); -ms-transform: matrix(         0,         -1,  0.9999875,          0, 0, 0); -moz-transform-origin: left 75%; -webkit-transform-origin: left 75%; -o-transform-origin: left 75%; -ms-transform-origin: left 75%; position: absolute; top: 207px; left: 63px; white-space: nowrap;"><b>THE</b></p>

Library: PdfToHtml


$pdf = new \TonchikTm\PdfToHtml\Pdf($pdf_file , [
    'pdftohtml_path' => $bindir,
    'pdfinfo_path' => $binexe,
    'outputDir' => getcwd().'/excelfile/'.uniqid() // output dir 
]);

$newpage = '';
foreach ($pdf->getHtml()->getAllPages() as $page) {
    $newpage .= $page . '<br/>';
  
}

1 个答案:

答案 0 :(得分:0)

我从来没有用过将PDF转换为Excel的用例,但是您还尝试了哪些其他库?

PDFTables看起来很有希望:

https://pdftables.com/pdf-to-excel-api#php

https://github.com/pdftables/php-pdftables-api

如果需要使用您使用的PDF到HTML库,我不知道一种简单/干净的方法。

基于问题,每个页面都返回一个包含所有段落元素的字符串?

如果返回元素数组,则应该能够遍历每个段落并使用strip_tags()获取单个值。

如果是字符串,请考虑使用Simple HTML Dom解析字符串格式的HTML元素,以便您可以更轻松地使用HTML。

use Illuminate\Support\Facades\Route as Route;  // no need to use this line

Route::get('/', function () {
   return view('welcome');
});