Skip to content

robflynn/pdftoimage

Repository files navigation

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.

About

A ruby gem for converting pdfs to images.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors