在PHP中为.ppt和.pptx生成缩略图

时间:2015-01-20 12:38:41

标签: php powerpoint imagick

是否可以使用PHP为.PPT和.PPTX文件生成缩略图?我目前正在为图像和pdf文件做同样的事情,但在功率点演示时遇到了障碍。

我目前正在使用Imagick使用下面的代码。

        if(in_array($ext,array('pdf'))){

                $pdf = './uploads/'.$new_file_name; 
                $filename=str_replace($ext,'jpg',$new_file_name);
                $img = new imagick($pdf);               
                for ($x = 1;$x <= $img->getNumberImages(); $x++) {      
                    $save_to = './uploads/'.$x.'-'.$filename;
                    $img->setIteratorIndex($x);
                    $img->setImageFormat('jpg');                
                    $geo=$img->getImageGeometry();
                    $sizex=$geo['width'] / 2;
                    $sizey=$geo['height'] / 2; 
                    $img->resizeImage($sizex,$sizey,Imagick::FILTER_LANCZOS,1);
                    $img->writeImage($save_to);
                }
                $count = $img->getNumberImages();
                $update = '[pdf=/uploads/'.$new_file_name.']/uploads/'.$count.'-'.$filename.'[/pdf]'.$update;
            }   

1 个答案:

答案 0 :(得分:1)

没有

或者至少几乎肯定不是。您可以致电\Imagick::queryformats();来列出Imagick,或者更确切地说ImageMagick支持的格式,以便仔细检查不支持PowerPoint格式,但因为它们不是listed as supported,我怀疑它们会是

似乎最好的方法之一是使用unoconv将PowerPoint文件首先转换为PDF:

unoconv -f pdf presentation.ppt

之后你可以用Imagick来操纵它。