Exemple #1
0
 /**
  * Returns a {@link Zend_Pdf_Resource_Image} object by file path.
  *
  * @param string $filePath Full path to the image file.
  * @return Zend_Pdf_Resource_Image
  * @throws Zend_Pdf_Exception
  */
 public static function imageWithPath($filePath)
 {
     /**
      * use old implementation
      * @todo switch to new implementation
      */
     // require_once 'Zend/Pdf/Resource/ImageFactory.php';
     return Zend_Pdf_Resource_ImageFactory::factory($filePath);
     /* Create a file parser data source object for this file. File path and
      * access permission checks are handled here.
      */
     // require_once 'Zend/Pdf/FileParserDataSource/File.php';
     $dataSource = new Zend_Pdf_FileParserDataSource_File($filePath);
     /* Attempt to determine the type of image. We can't always trust file
      * extensions, but try that first since it's fastest.
      */
     $fileExtension = strtolower(pathinfo($filePath, PATHINFO_EXTENSION));
     /* If it turns out that the file is named improperly and we guess the
      * wrong type, we'll get null instead of an image object.
      */
     switch ($fileExtension) {
         case 'tif':
             //Fall through to next case;
         //Fall through to next case;
         case 'tiff':
             $image = Zend_Pdf_Image::_extractTiffImage($dataSource);
             break;
         case 'png':
             $image = Zend_Pdf_Image::_extractPngImage($dataSource);
             break;
         case 'jpg':
             //Fall through to next case;
         //Fall through to next case;
         case 'jpe':
             //Fall through to next case;
         //Fall through to next case;
         case 'jpeg':
             $image = Zend_Pdf_Image::_extractJpegImage($dataSource);
             break;
         default:
             // require_once 'Zend/Pdf/Exception.php';
             throw new Zend_Pdf_Exception("Cannot create image resource. File extension not known or unsupported type.");
             break;
     }
     /* Done with the data source object.
      */
     $dataSource = null;
     if ($image !== null) {
         return $image;
     } else {
         /* The type of image could not be determined. Give up.
          */
         // require_once 'Zend/Pdf/Exception.php';
         throw new Zend_Pdf_Exception("Cannot determine image type: {$filePath}", Zend_Pdf_Exception::CANT_DETERMINE_IMAGE_TYPE);
     }
 }
 public static function imageWithPath($filePath)
 {
     return Zend_Pdf_Resource_ImageFactory::factory($filePath);
     $dataSource = new Zend_Pdf_FileParserDataSource_File($filePath);
     $fileExtension = strtolower(pathinfo($filePath, PATHINFO_EXTENSION));
     switch ($fileExtension) {
         case 'tif':
         case 'tiff':
             $image = Zend_Pdf_Image::_extractTiffImage($dataSource);
             break;
         case 'png':
             $image = Zend_Pdf_Image::_extractPngImage($dataSource);
             break;
         case 'jpg':
         case 'jpe':
         case 'jpeg':
             $image = Zend_Pdf_Image::_extractJpegImage($dataSource);
             break;
         default:
             throw new Zend_Pdf_Exception("Cannot create image resource. File extension not known or unsupported type.");
             break;
     }
     $dataSource = null;
     if ($image !== null) {
         return $image;
     } else {
         throw new Zend_Pdf_Exception("Cannot determine image type: {$filePath}", Zend_Pdf_Exception::CANT_DETERMINE_IMAGE_TYPE);
     }
 }