0

现在我正在使用 PHP 和 Laravel。我的目标是从上传的 PDF 文件(使用 Form 和 POST 方法)中提取尽可能多的信息,例如元数据(作者、标题等)、首页(封面)、每页的内容和可用章节(从书签)。

我目前正在使用此处提供的 smalot 的 PDF 解析器但文档仅涵盖了一些我已经从 PDF 文件中获得的基本示例。

问题:我目前的问题是提取这些书签以完成章节的要求。有谁知道如何使用这个特定的解析器提取这种类型的内容?

我目前的代码如下所示:

<table>
    <?php
        $details  = $PDFfile->getDetails();
        // Loop over each property to extract values (string or array).
        foreach ($details as $property => $value) {
            if (is_array($value)) {
                $value = implode(', ', $value);
            }
            echo '<tr>';
            echo '<td><b>'.$property . '</b></td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td>' . $value . "</td>";
            echo '</tr>';
        }
    ?>
</table>

请注意,这只会产生如下所示的输出:

[Producer] => dvips + GNU Ghostscript 7.05
[Creator] => LaTeX with hyperref package
[Title] => 
[Subject] => 
[Author] => 
[Keywords] => 
[Pages] => 11
4

1 回答 1

0

我没有使用 Smalot 的经验,但我确实有一些从 PDF 书签中提取信息的经验。因此,查看PDF 参考的第 12.3.3 节和 smalot 文档,我将从 Document getDictionary() 开始并从该字典中获取“大纲”条目,然后遍历树,查看第一个、下一个、标题,最后和计数条目。

于 2017-08-07T14:49:39.640 回答