这插件太危险了!PDFParser自动扒取PDF每天躺赚300+的暴利搬运术

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: 本文介绍了如何使用PHP提取PDF文档中的文字内容。为解决PDF文档“不可编辑”或“文本无法复制”的问题,推荐使用免费的PHP库——PDFParser。通过Composer安装后,可利用其简单强大的API解析PDF文件,提取文本内容。文章详细演示了获取PDF基本信息、全文内容、指定页内容及循环输出每页文本的方法,并附带中英文PDF示例,操作简便实用。

前言

一些朋友肯定注意到PDF文档是不能复制其中的文本或文字的, 因为一般PDF文档都设置了文档不可编辑, 并且有的时候用户也无法复制其中的文本, 当然这是为了考虑到保证文档和信息的安全性!

但是有时候,在一些特殊的情况下,我们如果真的要从PDF文档上吧文字信息内容提取出来,也不是没有办法,方法有很多,今天我就介绍其中一种,使用php来快速提取PDF文字内容

PDF解析器

要使用php来提取PDF文档中的内容,可以使用一些phpPDF专门准备的解析器来实现这个功能

这里我个人推荐一种自己常用的PDF解析器:PDFParser

PDFParser

介绍

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

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

地址 https://github.com/smalot/pdfparser

如图

安装 PDFParser

首先要确定自己的PHP 版本要在7.1+ 然后我们用Composer去安装它

然后我们可以使用cmd命令行窗口手动打开我们的web项目路径 ,执行以下命令

composer require smalot/pdfparser
AI 代码解读

这是我的项目路径!

如图

这时候,Composer就帮助我们把smalot/pdfparser这个插件安装到我们的web项目下了!

使用PDFParser提取PDF文本内容

我们现在file目录下有两个pdf文件, 一个英文pdf、一个中文pdf

如图

现在的需要就是要把它的内容提取出来,打印到网页上,现在就让我们来试试吧!

创建Parser对象

首先新建一个index.php文件,里面写入以下代码:

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

获取PDF基本信息

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

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

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

代码如下

$details = $pdf->getDetails();
echo "<pre>";
print_r($details);
echo "</pre>";
AI 代码解读

如图

我们可以打开PDF文件对比一下

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

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

代码如下

//获取PDF文件所有文本内容
$text = $pdf->getText();
//输出
echo $text;
AI 代码解读

如图

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

获取PDF文件中的某一页

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

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

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

代码如下

//获取PDF所有页
$pages = $pdf->getPages();

//格式化输出 获取PDF某一页的所有文本内容
echo "<pre>";
echo $pages[1]->getText();
echo "</pre>";
AI 代码解读

如图

我们也可以对照一下源文件是不是这样

如图

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

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

代码如下

//获取所有页
$pages = $pdf->getPages();
//循环所有页
foreach($pages as $key=>$page){
   
    //格式化
    echo "<pre>";
    echo $pages[$key]->getText();
    echo "</pre>";
    //每一页分隔符
    echo "<hr>";
}
AI 代码解读

如图

怎么样是不是很简单!

我们来吧PDF文件换成一个中文的试试看效果, 这里我准备了一个test2.pdf的中文PDF文件

代码如下

<?php
//引入autoload.php
include 'vendor/autoload.php';
//创建Parser对象
$parser = new \Smalot\PdfParser\Parser();
//提取PDF文件
$pdf = $parser->parseFile('file/test2.pdf');
//获取所有页
$pages = $pdf->getPages();
//循环所有页
foreach($pages as $key=>$page){
   
    //格式化
    echo "<pre>";
    echo $pages[$key]->getText();
    echo "</pre>";
    //每一页分隔符
    echo "<hr>";
}
?>
AI 代码解读

如图

对照一下

如图

目录
打赏
0
3
3
0
247
分享
相关文章
|
4月前
|
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
129 16
打印插件 hiprint 使用、回单打印PDF保存本地、将列表数据打印成pdf文件保存到本地
这篇文章介绍了如何使用hiprint打印插件将列表数据打印成PDF文件并保存到本地,包括插件的配置、依赖安装、项目代码案例以及如何预览和打印数据。
打印插件 hiprint 使用、回单打印PDF保存本地、将列表数据打印成pdf文件保存到本地
必知的技术知识:JqueryMedia插件使用,解决在线预览及打开PDF文件
必知的技术知识:JqueryMedia插件使用,解决在线预览及打开PDF文件
【2024-04-22 源码】最新PDF批注注释插件库,pdf.js插件库,纯前端离线JavaScript库(PDF高亮、下划线、橡皮擦、文本框、画笔、历史记录)
一款基于 pdf.js 开发的PDF批注插件库,支持纯离线内网部署,功能完善、强大且在不断升级,极易上手,欢迎关注!
266 4
【2024-04-22 源码】最新PDF批注注释插件库,pdf.js插件库,纯前端离线JavaScript库(PDF高亮、下划线、橡皮擦、文本框、画笔、历史记录)
vue项目使用Print.js插件实现PDF文件打印
vue项目使用Print.js插件实现PDF文件打印
905 0
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
1009 0
nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
【2023-11-01】一款基于 pdf.js 的 PDF 批注注释插件库(纯JS、高亮、画笔、多边形、历史记录)
基于纯 JavaScript 和 PDF.js 做的一款 PDF 批注拓展插件-PDFMaster,一款仍能兼容支持IE 11的PDF批注插件,界面美观功能强大,有无开发经验都可以快速简单快速使用。
380 0
【2023-11-01】一款基于 pdf.js 的 PDF 批注注释插件库(纯JS、高亮、画笔、多边形、历史记录)
Linux环境aspose插件word转pdf中文乱码解决方案
Linux环境aspose插件word转pdf中文乱码解决方案
1657 0
【2023-08-20】最新PDF.js PDF批注注释插件库:创建、保存和管理PDF注释批注(高亮、文本框、绘图、截屏、历史记录、橡皮檫)-pdf.js
探索基于pdf.js-dist开发的纯Javascript PDF批注插件库,支持保存、导出、导入和管理PDF文件中的批注。多个功能模块为您提供丰富的PDF注释体验。
727 0
【2023-08-20】最新PDF.js PDF批注注释插件库:创建、保存和管理PDF注释批注(高亮、文本框、绘图、截屏、历史记录、橡皮檫)-pdf.js