如何使用ruby将多个图像组合成单个PDF?

如何使用ruby将多个图像组合成单个PDF?,ruby,pdf,pdf-generation,rmagick,Ruby,Pdf,Pdf Generation,Rmagick,我有一组图像。如何将它们合并成PDF格式,每页一张图片 我已经看过RGhost和RMagic,答案可能就在那里的某个地方,但我现在想不起来了。看看gem。简单示例如下: require 'prawn' Prawn::Document.generate('hello.pdf') do |pdf| pdf.text("Hello Prawn!") pdf.image "#{Prawn::DATADIR}/images/fractal.jpg", :at => [200, 100]

我有一组图像。如何将它们合并成PDF格式,每页一张图片

我已经看过RGhost和RMagic,答案可能就在那里的某个地方,但我现在想不起来了。

看看gem。简单示例如下:

require 'prawn'

Prawn::Document.generate('hello.pdf') do |pdf|
   pdf.text("Hello Prawn!")
   pdf.image "#{Prawn::DATADIR}/images/fractal.jpg", :at => [200, 100]
end
您可以使用RMagick的:

如果文件名指示的图像格式支持每个文件有多个图像(动画图像),write会将imagelist中的所有图像写入单个文件

例如:

require 'rmagick'

image_list = Magick::ImageList.new("image1.png", "image2.png", "image3.png")
image_list.write("images.pdf")

看看
prawn
Gem,它看起来不错,Stefan。只是一个简单的问题。如果我有一组图像,我如何传递它们?数组转换为Magick::ImageList.new(['image1.png','image2.png']),但不起作用。如果我转换成字符串,我会得到Magick::ImageList.new(“'image1.png','image2.png'),它也不起作用。我可能忽略了一个明显的技巧。我使用的是
Magick::ImageList.new([“image1.png”,“image2.png]”)
@MinhDanh你必须传递文件名,而不是数组,例如
Magick::ImageList.new('image1.png”,“image2.png')
哦,我以为你提到的是数组by
Magick::ImageList.new(*array)
@MinhDanh这也行。
*
将数组转换为参数列表。在您的情况下:
Magick::ImageList.new(*['image1.png','image2.png'])
(注意数组前面的
*