一、介绍
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();
}