rails library latest ruby-on-rails-4 pdfkit

ruby on rails 4 - library - Las hojas de estilo de PDFkit*.css no se están aplicando



wkhtmltopdf latest version (2)

Estoy intentando convertir una página html que muestre imágenes desde facebook cdn a pdf usando pdfkit. Estoy usando rails 4.2, pdfkit 0.6.2 y wkhtmltopdf-binary 0.9.9.3.

# Gemfile gem ''pdfkit'' gem ''wkhtmltopdf-binary'' # controller def generate_pdf @booklet = Booklet.find params[:id] @cover = Image.last @images = @booklet.images.sort_by(&:uploaded_at) respond_to do |format| format.html format.pdf do html = render_to_string(layout: true , action: "generate_pdf.html.haml") kit = PDFKit.new(html, page_size: ''A4'', orientation: ''Landscape'') `sass vendor/assets/stylesheets/bootstrap.scss tmp/bootstrap.css` `sass vendor/assets/stylesheets/custom.scss tmp/custom.css` kit.stylesheets << "#{Rails.root}/tmp/bootstrap.css" kit.stylesheets << "#{Rails.root}/tmp/custom.css" pdf = kit.to_pdf send_data pdf, filename: ''booklet.pdf'', type: ''application/pdf'' end end end # application.scss @import ''bootstrap''; @import ''custom''; # config/application.rb require ''pdfkit'' config.middleware.use PDFKit::Middleware # config/initializers/mime_types.rb Mime::Type.register "application/pdf", :pdf unless Mime::Type.lookup_by_extension(:pdf)

El PDF se está generando y se muestran las imágenes de cdn de Facebook, pero las hojas de estilo no se están aplicando. ¿Qué me estoy perdiendo?

He creado un repositorio de muestra para el problema anterior aquí: https://github.com/prasadsurase/topdf

FYI, el bootstrap.css y el custom.css se colocan en el proveedor / activos y las extensiones se han renombrado a scss. En sass, los recursos (fuentes e imágenes) han sido referidos usando ''font-path'' y ''image-url'' carriles auxiliares. Los activos se precompilaron y la aplicación -.... css se copió en pdf.css y los activos se derivan de la ruta raíz (/)


¿Bootstrap funciona correctamente para otras páginas en su aplicación? - El objetivo es asegurarse de que ha configurado correctamente las metaetiquetas para incluir los archivos de Bootstrap y de que está señalando los archivos de Bootstrap (que parecen estar en / tmp?)

Además, ¿en qué SO estás codificando? Puedo recomendar sustituir "#{Rails.root}/tmp/bootstrap.css" con Rails.root.join(''tmp'',''bootstrap.css'')

Avíseme si estos ayudan en absoluto, o no.


Cambia a la gema wicked_pdf. Los ayudantes de activos incluidos funcionan muy bien y la gema en realidad está mejor organizada y documentada.