1

我正在尝试为我的 Rails 应用程序拆分多页 PDF,然后将页面转换为 png。在最好的情况下,我最终会在我的图像模型中每页有一个条目。

这是我到目前为止所得到的:

def generate_png
  manipulate! do |image, index|
    image.format = 'png'
    image.write("#{Rails.root}/public/#{store_dir}/image-#{index}.png")
  end
end

不幸的是,它只给我第一帧的 image-0.png 而其他帧什么都没有。我哪里错了?

如何在我的图像模型中为每一帧生成一个新条目?就像是

model.images.new :image => image

?

谢谢你们!

4

1 回答 1

1

当您将 pdf 文件拆分为图像时,如果文件名为 file.pdf,则结果将是多个具有相同名称的图像,并带有附加编号,例如 file-0.png ,file-1.png ......所以您需要从 pdf 加载所有转换后的图像,并将它们转换为您想要的任何格式

它给你 image-0.png 因为拆分 pdf 文件的返回只是第一个图像,它是 pdf 文件中的第一页

您可以正常上传文件并执行 after_create 方法

def generate_image_form_pdf 
  file = @magazine.file
  file_name=file.path.sub(".pdf",".jpg")
  system("convert #{file.path}  #{file_name}")
end

上述方法将从pdf文件创建jpg图像并将它们存储在与原始pdf文件相同的目录和相同的名称中

于 2013-04-25T10:39:30.983 回答