首页 > 解决方案 > 使用 PHP 计算 PDF 中的页数

问题描述

我正在编写一个测试来计算存储在服务器文件夹中的 PDF 的页数。我已经能够让它在我的本地机器上工作,我无法让它在远程文件上工作。

这是我适用于本地文件的代码:

 require_once 'C:\..\application\libraries\fpdi\fpdf.php';
 require_once 'C:\..\application\libraries\fpdi\fpdi.php';
 $pathToFile = 'C:\Users\..\Desktop\filename.pdf';
 $pdf = new FPDI();
 $pageCount = $pdf->setSourceFile($pathToFile);
 echo $pageCount;

但是,如果我将 $pathToFile 更改为远程服务器上的链接,我会收到一条错误消息。

我试过这个:

$pdfname = 'http://../filename.pdf';
$pdftext = file_get_contents($pdfname);
$num = preg_match_all('/\/Page\W/', $pdftext, $dummy);
echo 'Num: ' . $num;

但是同样,当我使用本地文件时,它工作正常,但是远程文件给了我一个错误(无法打开流:HTTP 请求失败!HTTP/1.1 403 禁止)。

从网上搜索,这似乎是一个常见的错误,我已经看到了使用 curl 的代码,但这对我来说毫无意义,我也无法让它工作。我看到了使用 pdfinfo 的代码,但是该帖子中的链接将指向另一个站点。

我不想下载任何东西,所以使用像Imagick这样的东西也不是一个选择。

我正在寻找的只是来自远程服务器上文件的简单页码。任何帮助将非常感激。

标签: phppdf

解决方案


推荐阅读