Module Prawn::Images
In: lib/prawn/images/jpg.rb
lib/prawn/images/png.rb
lib/prawn/images.rb

Methods

image  

Classes and Modules

Class Prawn::Images::JPG
Class Prawn::Images::PNG

Public Instance methods

Add the image at filename to the current page. Currently only JPG and PNG files are supported.

Arguments:

file:path to file or an object that responds to read

Options:

:at:an array [x,y] with the location of the top left corner of the image.
:position:One of (:left, :center, :right) or an x-offset
:vposition:One of (:top, :center, :center) or an y-offset
:height:the height of the image [actual height of the image]
:width:the width of the image [actual width of the image]
:scale:scale the dimensions of the image proportionally
:fit:scale the dimensions of the image proportionally to fit inside [width,height]
  Prawn::Document.generate("image2.pdf", :page_layout => :landscape) do
    pigs = "#{Prawn::BASEDIR}/data/images/pigs.jpg"
    image pigs, :at => [50,450], :width => 450

    dice = "#{Prawn::BASEDIR}/data/images/dice.png"
    image dice, :at => [50, 450], :scale => 0.75
  end

If only one of :width / :height are provided, the image will be scaled proportionally. When both are provided, the image will be stretched to fit the dimensions without maintaining the aspect ratio.

If :at is provided, the image will be place in the current page but the text position will not be changed.

If instead of an explicit filename, an object with a read method is passed as file, you can embed images from IO objects and things that act like them (including Tempfiles and open-uri objects).

  require "open-uri"

  Prawn::Document.generate("remote_images.pdf") do
    image open("http://prawn.majesticseacreature.com/media/prawn_logo.png")
  end

This method returns an image info object which can be used to check the dimensions of an image object if needed. (See also: Prawn::Images::PNG , Prawn::Images::JPG)

[Validate]