用php阅读pdf关键字

时间:2016-05-31 08:56:38

标签: php parsing pdf string-parsing

任何人都知道一种简单的方法来阅读" /从.pdf文件中提取关键字? 此文件不受密码保护,它是在FPDF类的同一服务器上生成的。

我知道有一些强大的"工具(不是免费的)来操纵.pdf,它提供了一种简单的方法来获取所有元数据。

我也知道.pdf将所有元数据存储在<< >>字符,使用元数据名称之前的特殊字符来标识它。 我需要的是" / Keywords"之后的字符串。并存储在变量中。

有什么想法解析并只得到那个字符串吗?

(目前我在关键字中写了一个JSON字符串,所以它看起来像这样:([{"FirstName":"7bis","LastName":"lastName","email":"email@email.com"}])

使用文本编辑器打开pdf文件,如下所示:

/F1 6 0 R
>>
/XObject <<
>>
>>
endobj
7 0 obj
<<
/Keywords ([{"FirstName":"7bis","LastName":"lastName","email":"email@email.com"}])
/Producer (FPDF 1.81)
/CreationDate (D:20160531084015)
>>
endobj

感谢所有建议;)

2 个答案:

答案 0 :(得分:1)

最终经过一些&#34;编码&#34;和一些关于一般解析的阅读,我找到了一种方法来提取我需要的东西。 实际上,我打开.pdf文件并将其作为字符串存储,然后解析字符串并在关键字后提取内容

$file = "/directory/of/file/example.pdf";
$stringedPDF = file_get_contents($file, true);
preg_match('/(?<=Keywords )\S+/i', $stringedPDF, $match);
return $match[0];

我非常确定我们可以做一些&#34;调整&#34;,因为&#34;元数据&#34;总是&#34;接近结束&#34;的文件。只有&#34; last&#34;才会很好。文件的一部分没有将所有文件保存到字符串中,这将特别节省大量.pdf文件大小的时间。

答案 1 :(得分:0)

您可以尝试从源代码下面的代码 $ parser = new \ Smalot \ PdfParser \ Parser(); $ pdf = $ parser-&gt; parseFile(&#39; document.pdf&#39;); $ text = $ pdf-&gt; getDetails();