Используя сам RMagick, вы можете создавать изображения для разных страниц.
require 'RMagick'
pdf_file_name = "test.pdf"
im = Magick::Image.read(pdf_file_name)
Выше приведен массив arr [], в котором будет одна запись для соответствующих страниц. Если вы хотите сгенерировать изображение (jpg) 5-й страницы, вы можете сделать:
im[4].write(pdf_file_name + ".jpg")
Но это загрузит полный pdf, так медленно.
В качестве альтернативы, если вы хотите создать изображение 5-й страницы и не хотите загружать полный файл PDF, выполните следующие действия:
require 'RMagick'
pdf_file_name = "test.pdf[5]"
im = Magick::Image.read(pdf_file_name)
im[0].write(pdf_file_name + ".jpg")