HashCode

An organizer of symbols

Archive for May, 2007

Ruby Ghost Engine - Ensaio com PDF

Tuesday, May 22nd, 2007

Hoje cheguei a primeira versão do RGEngine(Ruby Ghost Engine), entro agora na fase de teste e de criação do gem.
Criei uma aplicação para demonstrar um pouco.

Identification Card(Crachá)

Dados e imagens.


cast_isaac.jpg
Name: ISAAC MENDEZ
Actor: Santiago Cabrera
Code: 85216954

cast_hiro.jpg
Name: HIRO NAKAMURA
Actor: Masi Oka
Code: 96354125

cast_simone.jpg
Name: SIMONE DEVEAUX
Actor: Tawny Cypress
Code: 52963541

cast_claire.jpg
Name: CLAIRE BENNET
Actor: Hayden Panettiere
Code: 87425149

cast_micah.jpg
Name: MICAH SANDERS
Actor: Noah Gray-Cabey
Code: 25415241

cast_nathan.jpg
Name: NATHAN PETRELLI
Actor: Adrian Pasdar
Code: 85414536

cast_matt.jpg
Name: MATT PARKMAN
Actor: Greg Grunberg
Code: 99632541

cast_mohinder.jpg
Name: MOHINDER SURESH
Actor: Sendhil Ramamurthy
Code: 25145214

cast_niki.jpg
Name: NIKI SANDERS
Actor: Ali Larter
Code: 25414521

cast_peter.jpg
Name: PETER PETRELLI
Actor: Milo Ventimiglia
Code: 58963541

Template:(template_heroes.jpg)

Programa:


heroes=Heroes.find(:all) #from ActiveRecord::Base

doc=Document.new :paper =>  [319,490]
doc.load_font(:code39)

img_dir='/app/identification/img/'

doc.before_page_create do
  set Image.for(img_dir+"template_heroes.jpg")
end

heroes.each do |h|

  doc.image(img_dir+h.photo, :x=> 2.45, :y=> 9.8, :zoom => 120)
  doc.font :name => "HelveticaBold", :size => 16
  doc.text_in : x => 2.1, :y => 7.5, :text => h.name
  doc.text_in : x => 2.2, :y => 5.5, :text => h.actor

  doc.font :barcode => :code39, :size => 50
  doc.text_in : x => 2.8, :y => 0.8, :text => h.code

  doc.next_page

end

doc.render :pdf
#or
doc.render :jpg, :multipage => true

Output: HeroesIdentification.pdf