Module | Prawn::Images |
In: |
lib/prawn/images/jpg.rb
lib/prawn/images/png.rb lib/prawn/images.rb |
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)