Skip to content
Snippets Groups Projects
pdf_thumbnail_generator.rb 536 B
Newer Older
module Thumbnail
  module Strategies
    class PdfThumbnailGenerator < ::Thumbnail::GeneratableStrategy

      def generate(media)
        pdf = first_page(media.path)
        hash = SecureRandom.hex(10)
        output = "/tmp/#{hash}.png"
        pdf.write(output)
        File.open output
      end

      def can_generate?(media)
        super { 'pdf' }
      end

      private

      def first_page(pdf_path)
        first_page_path = pdf_path + "[0]"
        Magick::Image.read(first_page_path).first
      end

    end
  end