PHP扩展 第7章 PDF解析器 PHP扩展 第7章 PDF解析器

14小时前

一、介绍

PDFParser 是一个免费的库, 我们可以在 GitHub 上找到它的源代码,并且可以通过 Composer 免费地将其安装到 PHP 项目中。

https://github.com/smalot/pdfparser

这个库提供了一个简单而强大的 API 来解析 PDF 文件并提取其中的文本内容, 我们也可以使用它来创建自己的 PDF 文本提取工具,最关键的是无需支付任何费用,也就是免费!

二、安装

composer 安装:PHP 版本要在 7.1+

composer require smalot/pdfparser

三、使用

3.1、创建 Parser 对象

//引入autoload.php
include 'vendor/autoload.php';
//创建Parser对象
$parser = new \Smalot\PdfParser\Parser();
//提取PDF文件
$pdf = $parser->parseFile('你自己的PDF文件路径.pdf');

3.2、获取 PDF 基本信息

然后我们就可以利用创建出来的 Parser 对象来获取 PDF 中的文本内容了

获取 PDF 文件的基本信息包括一些创建者,制作人,创建日期,修改日期,作者,标题,页面数量等等

我们只需要执行 getDetails() 方法就可以获取到了, 会返回一个数组

$details = $pdf->getDetails();

3.3、获取 PDF 文件内所有文本内容

如果我们要获取PDF中的所有文本内容,我们只需要执行 getText() 方法即可获取

$text = $pdf->getText();

但是缺点就是密密麻麻的,根本看不清楚!

3.4、获取 PDF 文件中的某一页

上面获取所有的内容,这样不方便观看

我们其实也可以利用创建出来的 Parser 对象来一页一页的去获取 PDF 文件中的内容!

方法很简单,使用 getPages() 方法再结合 getText() 方法就可以了

$pages = $pdf->getPages();
$pages[1]->getText();

3.5、循环输出 PDF 文件中的每一页文本内容

一个一个的去修改索引太麻烦了,我们完全可以使用循环把每一页都打印到 web 上,并且格式化输出

$pages = $pdf->getPages();
foreach($pages as $key=>$page){
   $pages[$key]->getText();
}
阅读 19