Création de vignette de preview pour un document pdf [vichuploaderbundle][Imagemagick]
Bonjour,
j'utilise vichuploaderbundle pour uploader des pdfs. J'aimerais récupérer ces fichiers depuis le contrôleur avant de les envoyer vers le template,ceci afin générer des vignettes de prévisualisation.
voici la classe d'"extraction" de la preview récupérée ici https://gist.github.com/slashfan/b68e58fe889fafeeaa45
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
<?php
namespace Siraat\AdDinBundle\ImageExtractor;
/**
* ImageExtractor
*/
class ImageExtractor
{
const FORMAT_JPG = 'jpg';
const FORMAT_PNG = 'png';
/**
* @param string $source source filepath
* @param string $destination destination filepath
* @param string $format destination format
*
* @return bool
*/
public static function extract($source, $destination, $format = self::FORMAT_PNG)
{
if (!extension_loaded('Imagick')) {
return false;
}
$imagick = new \Imagick($source.'[0]');
$imagick->setFormat($format);
return $imagick->writeImage($destination);
}
} |
voila le contrôleur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
public function indexAction(Request $request, $id)
{
$em = $this->getDoctrine()->getManager();
$document = $em->getRepository('SiraatAdDinBundle:Document')->findById($id);
$downloadHandler = $this->get('vich_uploader.download_handler');
$response = $downloadHandler->downloadObject($document, $fileField = 'documentFile');
/*... j'ignore comment passer $response à ma classe ImageExtractor.... */
return $this->render('SiraatAdDinBundle:Main:index.html.twig', array('document' => $document));
} |
je récupère l'objet Response mais je ne sais pas comment le traiter pour en extraire le document afin de générer la vignette
si quelqu'un a des pistes je suis preneur :(:(