php - 使用 PHP 查找 PDF 中的页数
问题描述
我已经研究了几天,终于找到了一些似乎有效的方法,但我得到了错误的结果。我需要计算远程服务器上 PDF 文件的页数。我的代码打开 PDF,但找不到正确的页数,我不知道为什么。
到目前为止,这是我的代码:
$CI = &get_instance();
$CI->load->library('Awss3', null, 'S3');
$CI->load->library('Pdflib');
$data = $CI->S3->readFile('uploads/225572/filename.pdf', false, 'bucket-name');
$needle = 'Page';
$positions = array();
$lastPos = 0;
while (($lastPos = strpos($data, $needle, $lastPos))!==false) {
$positions[] = $lastPos;
$lastPos = $lastPos + strlen($needle);
}
echo count($positions);
foreach ($positions as $value) {
echo $value . '<br />';
}
$test = strpos($data, 'Page');
如果我回显 $data,我会得到很多符号等和一些单词,但是 $test 应该是 16 时会显示为 0。它取决于 PDF 的类型还是我需要解码它还是类似的东西?
解决方案
最简单的是使用 ImageMagick 这里是一个示例代码
$image = new Imagick();
$image->pingImage('myPdfFile.pdf');
echo $image->getNumberImages();
否则你也可以使用 PDF 库,如 MPDF 或 TCPDF for PHP
推荐阅读
- javascript - 控制 HTML5 视频中播放的开始位置和持续时间,然后下载该视频的特定持续时间
- java - 如何在 spring-boot-starter-data-jpa 中配置 org.hibernate.cfg.Configuration
- swift - 如何传入协议枚举数组以在 Swift 中运行?
- laravel - Laravel 表过滤器
- scala - 如何在 Akka HTTP 中使用 pathPrefix/rawPathPrefix 匹配字符串?
- bash - Shell - 以大写形式导出变量名
- php - 反射 - 获取本地定义的变量?
- ios - Firebase Pod 安装问题
- java - 如何在ecore中创建上限为1的EReference列表
- pandas - 处理熊猫数据框中的换行符