0

move_uploaded_file() 経由でアップロードした pdf ファイルから情報を取得しようとしています。

色分析を行うには、各ページのサムネイルが必要です。さらに、各ページの幅と高さを実際の距離単位 (ピクセルではありません) で指定する必要があります。

imagemagickではなくimagickでpdfから画像への変換を行う方法はありますか。色分析に imagick インスタンスを使用しているからです。

現在、これは単一の画像ファイルでは機能しますが、複数ページの PDF では機能しません。知ってどうする…?

/* Read the image */
$im = new Imagick($file);

/* Thumbnail the image */
$im->thumbnailImage(null, 200);

/* Overwrite it */
file_put_contents($file, $im);

/* Gather Info */
$width = $im->getImageWidth();
$height = $im->getImageHeight();
$ratio = $width / $height;


/* Calculate gray */

$pixel_count = 0;
$sum_gray = 0;

for ($row=0;$row<$height;$row++) {
    for ($col=0;$col<$width;$col++) {
        $pixel = $im->getImagePixelColor($col, $row);
        $rgb = $pixel->getColor();
        $this_gray = .299*$rgb['r'] + .587*$rgb['g'] + .114*$rgb['b'];
        $sum_gray += $this_gray;
        $pixel_count++;
    }
} 

$gray = (1-($sum_gray / $pixel_count) / 256)*100;

高さと幅の情報を取得する方法を知っている人がいたら、教えてください。

助けてくれてありがとう!

4

0 に答える 0