用php阅读pdf文件

时间:2009-06-16 23:56:46

标签: php pdf

我有一个大型PDF文件,它是建筑物的楼层地图。它有所有办公家具的层,包括座位的文本框。

我的目标是使用PHP读取此文件,在文档中搜索文本图层,获取文件中的内容和坐标。通过这种方式,我可以绘制座位位置​​ - > x / y坐标。

有没有办法通过PHP做到这一点? (甚至Ruby或Python,如果这是必要的)

5 个答案:

答案 0 :(得分:31)

查看FPDF(使用FPDI):

http://www.fpdf.org/

http://www.setasign.de/products/pdf-php-solutions/fpdi/

这些将允许您打开pdf并在PHP中添加内容。我猜你也可以使用他们的功能在现有内容中搜索你需要的值。

另一个可能的库是TCPDF:http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf

更新以添加更现代的库:PDF Parser

答案 1 :(得分:24)

有一个php库(pdfparser)可以完全满足您的需求。

项目网站

http://www.pdfparser.org/

<强> github上

https://github.com/smalot/pdfparser

演示页/ api

http://www.pdfparser.org/demo

在您的项目中包含pdfparser后,您可以像mypdf.pdf那样获取所有文字:

<?php
$parser = new \installpath\PdfParser\Parser();
$pdf    = $parser->parseFile('mypdf.pdf');  
$text = $pdf->getText();
echo $text;//all text from mypdf.pdf

?>

Simular你可以从pdf获取元数据以及获取pdf对象(例如图像)。

答案 2 :(得分:0)

嗯...不完全是php,但你可以从php调用一个程序将pdf转换为临时的html文件,然后用php解析生成的文件。我为我的一个项目做了类似的事情,这是我使用的程序:

PdfToHtml

该计划的一个很酷的地方在于它将吐出&lt;中的文本元素。 div>带绝对位置坐标的标签。看起来这正是你想要做的。

答案 3 :(得分:0)

您可能还想尝试此应用http://pdfbox.apache.org/。可以在https://www.jinises.com

找到一个工作示例

答案 4 :(得分:0)

您的初始请求是&#34;我有一个大型PDF文件,它是建筑物的楼层地图。 &#34;

我害怕告诉你这可能比你想象的要难。

原因每个人用来解析pdf的最后一个已知的lib很小,而且这个已知会遇到有关大文件的问题。

在这里,Lookig是一个真正的php lib来解析pdf,没有任何内存峰值需要php配置来禁用内存限制,因为很多&#34;开发人员&#34; (我猜这真的不可取)。

有关smalot性能的更多详细信息,请参阅此帖子:https://github.com/smalot/pdfparser/issues/163