with wicked_pdf render_to_string rails library generate ruby ruby-on-rails-4 wicked-pdf

ruby - rails - render_to_string with wicked_pdf



Wicked-PDF no muestra imágenes, ''wicked_pdf_image_tag'' undefined (1)

Lo primero es crear una plantilla en pdf para renderizar y usar sus etiquetas wicked_pdf en esa plantilla. Por ejemplo,

app / views / layout / application.pdf.erb-

<!doctype html> <html> <head> <meta charset=''utf-8'' /> </head> <body onload=''number_pages''> <div id="content"> <%= yield %> </div> </body> </html>

app / views / pdf / pdf_view.pdf.erb-

<div> <%= wicked_pdf_image_tag ''logo.jpg'' %> </div>

usa esta plantilla en su lugar

def save pdf = WickedPdf.new.pdf_from_string( render_to_string( template: ''example/pdf_view.pdf.erb'', layout: ''layouts/application.pdf.erb'')) send_data(pdf, filename: ''file_name.pdf'', type: ''application/pdf'', disposition: ''attachment'') end

Esto podría ayudarte ...

Quiero generar un PDF con el logotipo de nuestro departamento en él. Cuando trato de usar la clase WickedPdf en mi controlador (usando el método descrito en https://github.com/mileszs/wicked_pdf ):

def some_action image_tag_string = image_tag(''logo.jpg'') pdf = WickedPdf.new.pdf_from_string(image_tag_string) save_path = Rails.root.join(''testpdfs'',''logotest.pdf'') File.open(save_path, ''wb'') do |file| file << pdf end end

... la aplicación guarda el PDF en el directorio de destino, pero tiene un ''?'' azul y blanco marca donde debería estar la imagen.

Si hago esto en su lugar:

image_tag_string = wicked_pdf_image_tag(''logo.jpg'') pdf = WickedPdf.new.pdf_from_string(image_tag_string)

Obtuve el siguiente error:

NoMethodError: undefined method `wicked_pdf_image_tag'' for #<...

Parece que mi aplicación Rails también falta / no está enlazando a un archivo auxiliar que pertenece a la gema wicked-pdf.

Las respuestas a preguntas similares en StackOverflow recomiendan escribir una ayuda personalizada de "etiqueta de imagen" para ubicar la imagen o instalar wkhtmltopdf. Para mí, la etiqueta de imagen muestra el logotipo muy bien cuando se coloca en una vista (whatever.html.erb). "logo.jpg" ya se encuentra en el canal de recursos y # {RailsRoot} / public / images. Finalmente, estoy usando wkhtmltopdf 0.9.9, wicked-pdf 0.11.0 y rieles 4 en Ubuntu 14.04.

En pocas palabras, ¿qué estoy haciendo mal que hace que WickedPDF no reproduzca la imagen?