2012-03-18 12 views
5

Próbuję użyć PDFKit.Jak zainstalować PDFKit? (Rails 3.2.1 i PDFKit 0.5.2)

Wygląda to dość proste, więc staram się śledzić Ryan's Rails cast.

Więc dodałem gem do mojego GemFile i aktualizowane mój application.rb z:

config.middleware.use "PDFKit::Middleware" 

Potem zainstalowany wkhtmltopdf na linux z:

apt-get install wkhtmltopdf 

I upewnić się, że działa:

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

Wszystko wygląda dobrze, dopóki próbuję dodać .pdf na jednej z moich stron ...

Strona pozostaje w stanie ładowania na zawsze. Kiedy zatrzymać serwer z Ctrl - C w konsoli, pojawia się następujący błąd:

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' 

Co robię źle?

+0

Myślę, że używasz 'Webrick' jako serwera HTTP. Czy możesz spróbować użyć 'Thin'? –

+1

@nash: Dziękuję za pokazanie mi Cienki (zwykle używam kundla, ale naprawdę używałem Webrick, wstyd mi: p). W każdym razie robi to samo z Thin :( –

Odpowiedz

0

Niedawno grał z PDFKit i dostał go do pracy w mojej aplikacji szyn i do czynienia z podobnym problemem.
Trzy kroki potrzebne są:

  1. Trzeba będzie położyć gem "PDFKit" w GemFile.
  2. Put config.middleware.use PDFKit :: Middleware w environment.rb pliku, który już masz.
  3. Spróbuj umieścić następujący kod w pdfkit.rb pliku pod '/ config inicjalizatory' folderu.

    PDFKit.configure do | config |

    config.wkhtmltopdf = 'C: \ Software \ Utilities \ wkhtmltopdf \ wkhtmltopdf.exe' #Path do katalogu instalacyjnego wkhtmltppdf

    config.root_url = "http: // localhost" # Używaj tylko wtedy, gdy zewnętrzny nazwa hosta jest niedostępna na serwerze.

    koniec

+0

Dziękuję, próbowałem Twojego rozwiązania, ale moja ścieżka była już poprawna! –

0

ja również po Ryan's Rails cast.

PDFKit zależy od wkhtmltopdf.rb. Każda wersja> 0.9.9 spowodowała zawieszenie procesu tworzenia pliku PDF tuż przed zakończeniem, wymagając Ctrl-C. Używam OS X 10.6.8, a nie Linux. Jednak próby:

wkhtmltopdf --version 

Jeśli jest> 0.9.9, a następnie cofnąć do 0.9.9. Rozwiązałem mój problem. Zajęło mi to godziny, żeby dojść do tego.

0

Mamy problem związany tutaj: PDF Generation hangs using PDFKit and wkhtmotopdf

powołując się na rozwiązanie z 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.

Próbowałem tego i że pracował dla mnie.

Myślę, że ma to związek z zasobami takimi jak javascript i arkuszami stylów ze ścieżką względną.

Powiązane problemy