Project

pdftoimage

0.04
A long-lived project that still receives updates
A ruby gem for converting PDF documents into a series of images. This module is based off poppler_utils and ImageMagick.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 0.2.2
 Project Readme

pdftoimage

A Ruby gem for converting PDF documents into images using poppler_utils and MiniMagick.

Installation

gem install pdftoimage

Requirements

Usage

From a file

require 'pdftoimage'

images = PDFToImage.open('somefile.pdf')
images.each do |page|
  page.resize('50%').save("output/page-#{page.page}.jpg")
end

With a block

PDFToImage.open('report.pdf') do |page|
  page.resize('150').quality('80%').save("out/thumbnail-#{page.page}.jpg")
end

From 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')
end

From 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.rewind

Cropping a region

PDFToImage.open('report.pdf') do |page|
  page.crop(0, 300, 100, 300).save("out/cropped-#{page.page}.jpg")
end

Setting resolution

PDFToImage.open('report.pdf') do |page|
  page.r(350).save("out/hires-#{page.page}.jpg")
end

License

Copyright (c) 2026 Rob Flynn

See LICENSE for details.