You can open a PDF like any other image file.
a = Vips::Image.new_from_file "/some/file/called.pdf", access: :sequential
a.write_to_file("tiny.jpg")
Optional arguments let you set a rendering resolution, a background colour, and pick a page or set of pages.
The docs for pdfload explain all the options:
https://libvips.github.io/libvips/API/current/VipsForeignSave.html#vips-pdfload