2009-06-16 210 views
41

我有一个很大的PDF文件,是建筑物的地板图。它具有所有办公家具的图层,包括座位位置的文本框。用php阅读pdf文件

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

有什么办法通过PHP来做到这一点? (或甚至红宝石或Python,如果这是必要的)

+0

标记代码是否包含“坐标”?如果不是,只要你想,你可以搜索。 PHP无法定位PDF文件的像素坐标。 试着解释你的“问题”更详细些,也许通过使用图片等。 – 2009-10-21 19:18:03

+0

你好,你找到了你的问题的答案?因为我一直用simillar的问题,我找不到解决方案...如果你找到了一个,你能告诉我你是如何获得PDF文件的图像坐标?.. – 2013-01-17 10:07:57

+0

@PigalevPavel对不起,我没有:( – 2013-01-17 21:22:54

回答

27

退房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

+2

至于解析PDF到PHP,fpdf缩短pdfparser http: //www.pdfparser.org/documentation有一个干净而直观的编程界面 – Nate 2015-06-24 02:17:15

0

嗯...不完全是PHP,但你可以调用一个程序从PHP转换为临时的HTML文件,然后用PHP解析结果文件。我已经做了类似的东西为我的一个项目,这是我使用的程序:

PdfToHtml

什么是很酷的计划是,它会与绝对位置< div>标签吐出的文本元素坐标。看起来这正是你想要做的。

+1

嘿你能发表一个示例代码如何实现你的结果我找不到合适的文档,这将是很大的 – Tarik 2011-07-05 09:25:31

19

有一个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获得元数据WEL为获取PDF对象(例如图像) 。