jueves, 12 de mayo de 2011

Generar pdf con wicked_pdf en Rails

Wicked PDF usa un ejecutable llamado wkhtmltopdf para generar un fichero PDF desde un fichero HTML. Nos bajamos el conversor que le corresponda a nuestra maquina y lo ponemos en /usr/local/bin/. Como he descomprimido el ficher en mi HOME, el comando es:

sudo mv wkhtmltopdf-tu_version /usr/local/bin/

Instalamos la gema como plugin en nuestra aplicacion Rails:

script/plugin install git://github.com/mileszs/wicked_pdf.git
script/generate wicked_pdf

Tenemos que configurar el plugin para que sepa que versión del Wicked hemos instalado y donde esta. Para ello en config/enviroments.rb (rails 1.x), o donde corresponda en tu aplicación, ponemos algo así:


WickedPdf.config = {
:exe_path => '/usr/local/bin/wkhtmltopdf-amd64',
:zoom => 1.0,
:margin => { :top => 10,:bottom => 10, :left => 10, :right => 10},
:outline => { :outline => true },
:disable_smart_shrinking => false
}


Hay muchas mas posibles opciones, que también se pueden cambiar cuando llamamos a la vista desde el controlador:

def show
respond_to do |format|
format.html
format.pdf do
render :pdf => "file_name"
end
end
end


Fuentes: github, bunario wkhtmltopdf, uso y configuracion por snikt