Imagemagick页面计数功能,PDF版本1.5以上 - PHP

时间:2011-09-20 16:11:05

标签: php pdf imagemagick

我在 Windows Vista PC 中运行 Apache / 2.2.17(Win32)PHP / 5.3.0 。 我有imagemagick配置。我有一个PHP函数来计算PDF文件中的页面,如下所示;

<?php
$filepath = "test.pdf";

function getNumPagesPdf($filepath){
    $fp = @fopen(preg_replace("/\[(.*?)\]/i", "",$filepath),"r");
    $max=0;
    while(!feof($fp)) {
            $line = fgets($fp,255);
            if (preg_match('/\/Count [0-9]+/', $line, $matches)){
                    preg_match('/[0-9]+/',$matches[0], $matches2);
                    if ($max<$matches2[0]) $max=$matches2[0];
            }
    }
    fclose($fp);
    if($max==0){
        $im = new imagick($filepath);
        $max=$im->getNumberImages();
    }

    return $max;
}

echo getNumPagesPdf($filepath);
?>

该代码仅适用于PDF文件的文件,最高版本为1.4版本的PDF文件。它不适用于版本1.5以上的PDF文件。

0 个答案:

没有答案