Introduction à PHPExcel
Date de publication : 05/02/2009 , Date de mise à jour : 14/07/2010
Extraire des images
Extraire des images
Lors d'échanges sur le forum, @objectifweb un posteur,nous a soumis une difficulté qu'il rencontrait, c'est à dire extraire des photos
d'un fichier existant.
Il nous à orienté sur une solution, que l'on peut retrouver dans les archives de PHPExcel.
A la lecture d'un fichier Excel, une des méthodes qui recense les images est getDrawingCollection().
Dans un premier temps créer un répertoire /images pour recpetionner toutes les images, ensuite il faut boucler sur getDrawingCollection() et créer les images avec la fonction image/jpeg/gif() de PHP
$objet1 = new PHPExcel_Reader_Excel5();
$ excel1 = $objet1 ->load (' Exemple14.xls ' );
$ sheet1 = $excel1 ->getSheet (0 );
foreach ($sheet1 ->getDrawingCollection () as $ drawing ) {
if ($ drawing instanceof PHPExcel_Worksheet_Drawing) {
$ filename = $drawing ->getPath ();
copy($ filename , ' images/ ' . $drawing ->getIndexedFilename ());
} else if ($ drawing instanceof PHPExcel_Worksheet_MemoryDrawing) {
$ image = $drawing ->getImageResource ();
$ renderingFunction = $drawing ->getRenderingFunction ();
switch ($ renderingFunction ) {
case PHPExcel_Worksheet_MemoryDrawing: : RENDERING_JPEG:
imagejpeg($ image , ' images/ ' . $drawing ->getIndexedFilename ());
break ;
case PHPExcel_Worksheet_MemoryDrawing: : RENDERING_GIF:
imagegif($ image , ' images/ ' . $drawing ->getIndexedFilename ());
break ;
case PHPExcel_Worksheet_MemoryDrawing: : RENDERING_PNG:
case PHPExcel_Worksheet_MemoryDrawing: : RENDERING_DEFAULT:
imagepng($ image , ' images/ ' . $drawing ->getIndexedFilename ());
break ;
}
}
}
|
Ce document est issu de http://www.developpez.com et reste la
propriété exclusive de son auteur.
La copie, modification et/ou
distribution par quelque moyen que ce soit est soumise à l'obtention
préalable de l'autorisation de l'auteur.