2012-03-18 20 views
5

Estoy tratando de usar PDFKit.¿Cómo instalar PDFKit? (Rails 3.2.1 y PDFKit 0.5.2)

Parece bastante sencillo así que estoy tratando de seguir Ryan's Rails cast.

por lo que añade la gema para mi Gemfile y actualizado mi application.rb con:

config.middleware.use "PDFKit::Middleware" 

Después de eso he instalado wkhtmltopdf en Linux con:

apt-get install wkhtmltopdf 

Y asegurarse de que funciona:

[[email protected]]%wkhtmltopdf www.google.com gogole.pdf 
Loading page (1/2) 
Printing pages (2/2)            
Done 

Todo se ve bien hasta que intento agregar el .pdf en una de mis páginas ...

El sitio web se mantiene en estado de carga para siempre. Cuando paro el servidor con un Ctrl - C en la consola, me sale el siguiente error:

RuntimeError (command failed: "/usr/bin/wkhtmltopdf" "--page-size" "Letter" "--margin-top" "0.75in" "--margin-right" "0.75in" "--margin-bottom" "0.75in" "--margin-left" "0.75in" "--encoding" "UTF-8" "--print-media-type" "--quiet" "-" "-"): 
    pdfkit (0.5.2) lib/pdfkit/pdfkit.rb:71:in `to_pdf' 
    pdfkit (0.5.2) lib/pdfkit/middleware.rb:21:in `call' 

¿Qué estoy haciendo mal?

+0

Creo que está utilizando 'Webrick' como servidor web HTTP. ¿Puedes tratar de usar 'Thin'? –

+1

@nash: Gracias por mostrarme Thin (suelo usar mongrel pero de hecho estaba usando Webrick, lástima de mí: p). De todos modos, está haciendo lo mismo con Thin :( –

Respuesta

0

Recientemente he jugado con PDFKit y tengo que trabajar en mi solicitud rieles y enfrentado a un problema similar.
Los tres pasos que necesita son:

  1. Usted tendrá que poner joya "PDFKit" en su Gemfile.
  2. Poner config.middleware.use PDFKit :: Middleware en application.rb archivo que ya tienes.
  3. trate de poner el siguiente código en el archivo pdfkit.rb bajo '/ config' inicializadores carpeta.

    PDFKit.configure do | config |

    config.wkhtmltopdf = 'C: \ software \ utilities \ wkhtmltopdf \ wkhtmltopdf.exe' #PATH a su directorio de instalación wkhtmltppdf

    config.root_url = "http: // localhost" # Usar sólo si su externa el nombre de host no está disponible en el servidor.

    final

+0

¡Gracias, probé tu solución, pero mi camino ya era correcto! –

0

También he seguido Ryan's Rails cast.

PDFKit depende de wkhtmltopdf.rb. Cualquier versión> 0.9.9 ha estado causando que el proceso de creación de PDF se cuelgue justo antes de su finalización, requiriendo Ctrl - C. Utilizo OS X 10.6.8, no Linux. Sin embargo, intente:

wkhtmltopdf --version 

Si es> 0.9.9, retroceda a 0.9.9. Resolvió mi problema Me tomó horas averiguarlo.

0

Tenemos un problema relacionado aquí: PDF Generation hangs using PDFKit and wkhtmotopdf

Citando la solución de Beerlington:

Try removing any javascript include tags from your HTML and see if that at least lets the PDF render. If that works, then you at least have a starting point.

lo he intentado y que trabajó para mí.

Creo que tiene que ver con activos como javascript y hojas de estilo con ruta relativa.

Cuestiones relacionadas