Example #1
0
   def generateImageFromFile(file_path, output_dir):
      'Generates an image file from each slide. Returns the paths to the images.'

      presentation = PptxFile(file_path)
      no_of_slides = len(presentation.getSlides())
      presentation.destroy() #Delete extracted folder

      image = Image()

      pptx = os.path.abspath(file_path)
      output_folder = os.path.abspath(output_dir)

      image_paths = image.generateFromPpt(pptx, output_folder, no_of_slides)
      return image_paths
Example #2
0
   def generateImageFromData(data, image_names):
      'Generates an image file from each slide. Input is the binary data of the slide or deck'
      'and a list of names. Renames the images and returns a list of paths.'

      temp_folder = relative_path("Files/Temp")
      bin = temp_folder + "/File.bin"
      pptx = temp_folder + "/File.pptx"

      if not (os.path.exists(temp_folder)):
         os.makedirs(temp_folder)

      open(bin,"wb").write(data)
      shutil.move(bin, pptx)

      presentation = PptxFile(pptx)
      no_of_slides = len(presentation.getSlides())
      presentation.destroy() #Delete extracted folder

      image = Image()

      pptx_dir = os.path.abspath(pptx)
      
      temp_paths = image.generateFromPpt(pptx_dir, temp_folder, no_of_slides)

      n = len(temp_paths)

      if (len(image_names) != n):
         for i in xrange (0, n):
            os.remove(temp_paths[i])
         raise Exception ("Amount of generated slides differs from lenght of input parameter") 

      for i in xrange (0, n):
         shutil.move(temp_paths[i], image_names[i])

      os.remove(pptx)

      return image_names