Développeur Web RoR

Aller au contenu | Aller au menu | Aller à la recherche

mardi 26 janvier 2010

Gem Prawn 0.7 générer des pdf avec des numéros de page (page_number) pour ror

Pdf prawn rubyonrails

Bon je fais un nouveau billet pour ça parce que j'ai cherché trop longtemps et ça me détend.

Pour afficher les numéros de page dans prawn rien de plus simple (quand on sait ce qu'il faut faire....

pdf.number_pages '<page> sur <total>', [pdf.bounds.bottom_left, 0]

<page> et <total> sont automatiquement remplacés par leur valeur !

Attention mettez cette portion de code à la fin de la vue pdf, et ne mettez pas ça dans un prawn document repeat !

lundi 25 janvier 2010

Prawn 0.7 pdf header et footer deprecated NoMethodError Undefined Method

Pdf prawn rubyonrails

Si vous utilisez le gem prawn pour générer des pdf avec RubyOnRails ATTENTION : Spécifiez la version du gem utilisé dans environment.rb

config.gem 'prawn', :version => '<= 0.6.3'

Les méthodes footer et header ont été supprimées du gem, car elle n'était pas intuitive parait-il, donc si vous utilisez la version 0.7 et les méthodes footer et/ou header une vilaine erreur va s'afficher. (Erreur 500 en prod...)

Pour résoudre le problème euh bien adapter son code ! Il parait qu'il faut utiliser les repeaters de prawn....

http://prawn.majesticseacreature.com/docs/prawn-core/classes/Prawn/Document.html#M000139

Par exemple pour un footer :

Ceci
pdf.footer pdf.margin_box.left, pdf.margin_box... do
pdf.text "Super footer"
end

Devient
pdf.repeat :all do
pdf.text "Super footer", :at => pdf.bounds.bottom_left
end

à vos lignes de code....