pdftoimage
A Ruby gem for converting PDF documents into images using poppler_utils and MiniMagick.
Installation
gem install pdftoimageRequirements
Usage
From a file
require 'pdftoimage'
images = PDFToImage.open('somefile.pdf')
images.each do |page|
page.resize('50%').save("output/page-#{page.page}.jpg")
endWith a block
PDFToImage.open('report.pdf') do |page|
page.resize('150').quality('80%').save("out/thumbnail-#{page.page}.jpg")
endFrom a URL
pages = PDFToImage.open('https://example.com/report.pdf')
pages[0].save('first_page.png')From an IO object
File.open('report.pdf', 'rb') do |io|
pages = PDFToImage.open(io)
pages[0].save('first_page.png')
endFrom binary data
pdf_data = download_pdf_from_s3(key)
pages = PDFToImage.from_blob(pdf_data)
pages[0].save('first_page.png')Saving to an IO object
pages = PDFToImage.open('report.pdf')
io = StringIO.new(''.b)
pages[0].save(io)
io.rewindCropping a region
PDFToImage.open('report.pdf') do |page|
page.crop(0, 300, 100, 300).save("out/cropped-#{page.page}.jpg")
endSetting resolution
PDFToImage.open('report.pdf') do |page|
page.r(350).save("out/hires-#{page.page}.jpg")
endLicense
Copyright (c) 2026 Rob Flynn
See LICENSE for details.