Rails - 可以将PDF转换为图像吗?

11

我有一个使用PaperClip/S3的Rails 3应用程序...

用户是否可以上传PDF,将其转换为图像,然后再上传?

谢谢!

1个回答

23

可以看一下 ImageMagick 和 RMagick 插件,它们能让你进行各种图像转换操作,包括将 PDF 转换成 JPEG。

http://rmagick.rubyforge.org/

编辑:

以下是未经测试的样例代码:

require 'RMagick'
pdf = Magick::ImageList.new("doc.pdf")
pdf.write("myimage.jpg")
如果doc.pdf有3页,这应该输出3张图片:
myimage.jpg.0
myimage.jpg.1
myimage.jpg.2
请查看此页面文档的结尾部分,其中显示了一个类似的示例,使用imagelist将多帧gif转换为多个PNG:http://www.imagemagick.org/RMagick/doc/ilist.html#write

谢谢,但我希望能够得到更多的教程或示例项目。问题是我想上传一个有多个页面的PDF文件,并将其转换为多个图像。 - AnApprentice
rmagick可以做到这一点。您可以从pdf创建一个ImageList,并将页面单独写入图像。我在我的更新答案中发布了一些代码(未经测试,但应该很接近)。 - johnmcaliley
有没有办法将输出转换为一张大图像,而不是每个 PDF 文件页面都有一张图像? - Lucas Eduardo
如果我正在使用Carrierwave - 我该如何获取图像以替换“doc.pdf”? - fatfrog

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接