Carrierwave将PDF转换为JPG(MiniMagick)

时间:2013-04-16 12:11:38

标签: ruby-on-rails carrierwave minimagick

我在为PDF文件创建JPG缩略图时遇到问题。

我正在使用Carrierwave。 Imagemagick已正确安装。创建PNG,JPG或GIF文件的缩略图没有问题。

这是我使用的代码

version :thumb, :if => :image? do
    storage :file

        begin
            process :convert => 'jpg' # this should do the trick but doesn't
            process :resize_to_fill => [160,160]
            process :quality => 95
            process :set_content_type
            process :set_thumb_attr => true
            def full_filename (for_file = model.file.file) 
                "#{model.slug}-thumb.jpg" 
            end
        rescue Exception => e
            puts e.inspect
            true
        end
end

def set_thumb_attr(val)
    model.thumb = val
end


def image?(new_file)
    model.mime.include? 'image/' or model.mime.include? '/pdf'
end

def set_content_type(*args)
    self.file.instance_variable_set(:@content_type, "image/jepg")
end

缩略图的内容表明创建的文件仍然是PDF文件。

  

%PDF-1.3   1 0 obj   <<   / Pages 2 0 R   /类型/目录   ...

我感谢任何建议/解决方案。

1 个答案:

答案 0 :(得分:0)

问题是

process :quality => 95

它重新处理了PDF。删除该行解决了我的问题。