首页 > php图像处理 > php利用Imagick把pdf生成png缩略图

php利用Imagick把pdf生成png缩略图

缩略图如果是图片我们直接使用php gD库就可实现了,本文章要介绍的是Imagick把pdf生成png缩略图方法,这里我们要利用一个插件了,下面我来给大家演示一个实例.

php_imagick什么

一个可以供PHP调用ImageMagick功能的PHP扩展,使用这个扩展可以使PHP具备和ImageMagick相同的功能.

ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF,JPEG,GIF,PNG,PDF以及PhotoCD等格式,利用ImageMagick,你可以根据web应用程序的需要动态生成图片,还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存.

php_imagick怎么用

.创建一个缩略图并显示出来,代码如下:

<?php
header('Content-type: image/jpeg');
$image = new Imagick('image.jpg');
// If 0 is provided as a width or height parameter,// aspect ratio is maintained
$image->thumbnailImage(100, 0);
echo $image;
?>

缩略GIF动画图片,代码如下:

<?php
/* Create a new imagick object and read in GIF */
$im = new Imagick("example.gif");
/* Resize all frames */
foreach ($im as $frame) {
    /* 50x50 frames */
    $frame->thumbnailImage(50, 50);
    /* Set the virtual canvas to correct size */
    $frame->setImagePage(50, 50, 0, 0);
} /* Notice writeImages instead of writeImage */
$im->writeImages("example_small.gif", true);
?>

好了扯远了,我们来进入正题吧.

pdf生成png首页缩略图,服务器需要支持Imagick,代码如下:

<?php
/** 
 * PDF2PNG
 * @param $pdf  待处理的PDF文件
 * @param $path 待保存的图片路径
 * @param $page 待导出的页面 -1为全部 0为第一页 1为第二页
 * @return      保存好的图片路径和文件名
 */
function pdf2png($pdf, $path, $page = 0) {
    if (!is_dir($path)) {
        mkdir($path, true);
    }
    if (!extension_loaded('imagick')) {
        echo '没有找到imagick!';
        return false;
    }
    if (!file_exists($pdf)) {
        echo '没有找到pdf';
        return false;
    }
    $im = new Imagick();
    $im->setResolution(120, 120); //设置图像分辨率
    $im->setCompressionQuality(80); //压缩比
    $im->readImage($pdf . "[" . $page . "]"); //设置读取pdf的第一页
    //$im->thumbnailImage(200, 100, true); // 改变图像的大小
    $im->scaleImage(200, 100, true); //缩放大小图像
    $filename = $path . "/" . time() . '.png';
    if ($im->writeImage($filename) == true) {
        $Return = $filename;
    }
    return $Return;
}
$s = pdf2png('file/1371273225-ceshi_ppt.pdf', 'images');
echo "<div align=center><img src="".$s.""></div>";
?>


本文地址:http://www.phprm.com/tuxiang/fs4411.html

转载随意,但请附上文章地址:-)

标签:缩略图 imagick pdf生成png

相关文章

发表留言