我在 Windows Vista PC 中使用 PHP 5 with Apache 。我已经安装并配置了Imagemagick
。我想使用imagick
计算pdf文件中的总页数。
我提供了一个解决方案 here ,但不知道如何将pdf文件作为文本和计数页面打开。
有人给我一个明确的解决方案,使用imagemagick计算页面
identify -format %n testfile.pdf
通过Google搜索,我找到了一些解决方法或示例;
imagick(identify -format %n testfile.pdf)
identify -density 12 -format "%p" testfile.pdf
identify -format %n testfile.pdf
我不知道如何利用这些东西..
答案 0 :(得分:13)
您应该使用正确的工具,{{1>而不是使用"identify -format %n $file"
(对于复杂或多页PDF来说,这可能会非常慢) }}:
pdfinfo
更快几个......
答案 1 :(得分:3)
我用它解决了它;
exec("identify -format %n $file")
答案 2 :(得分:-1)
从mentioned page开始,以下是获取页数的示例代码:
<?php
public function getNumPagesInPDF(array $arguments = array())
{
@list($PDFPath) = $arguments;
$stream = @fopen($PDFPath, "r");
$PDFContent = @fread ($stream, filesize($PDFPath));
if(!$stream || !$PDFContent)
return false;
$firstValue = 0;
$secondValue = 0;
if(preg_match("/\/N\s+([0-9]+)/", $PDFContent, $matches)) {
$firstValue = $matches[1];
}
if(preg_match_all("/\/Count\s+([0-9]+)/s", $PDFContent, $matches))
{
$secondValue = max($matches[1]);
}
return (($secondValue != 0) ? $secondValue : max($firstValue, $secondValue));
}
?>