2013-06-20 2 views
1

I이 설치하고 사용하는 산 사자가 :wicked_pdf 바닥 글

  • wicked_pdf (0.9.6)
  • QT-4.8.4
  • wkhtmltopdf 0.10.0 RC2를

나는 brew install을 사용하여 qt와 wkhtmltopdf를 설치했다. --devel --build-patched-qt wkhtmltopdf

나는 레일 3.2를 사용하고있다. 내 컨트롤러 :

render pdf: Time.now.to_i.to_s, 
     layout: false, 
     template: 'invoices/download', 
     disposition: 'attachment', 
     page_size: 'A4', 
     footer: { 
        left: Time.now.to_i.to_s, 
        center: Time.now.to_i.to_s, 
        right: Time.now.to_i.to_s 
       } 

콘텐츠는 잘 생성되지만 푸터는 생성되지 않습니다. 제안 사항이 있으십니까?

답변

1

wkhtmltopdf은 필요한 바닥 글을 생성하지 못할 수도 있으므로 어떤 단계에서 문제가 될 수 있습니다. 또한 OSX에서 발견되었으므로 wkhtmltopdf here을 다운로드 한 다음 무언가를 수행하여 디렉토리를 수정하십시오 (cd /usr/local/bin && ln -s /Applications/wkhtmltopdf.app/Contents/MacOS/wkhtmltopdf wkhtmltopdf). 이것 또한

respond_to do |format| 
     format.html 
     format.pdf do 
     render :pdf => "#{DateTime.now.to_s}", 
       :footer=> { left: Time.now.to_s, 
          center: Time.now.to_s, 
          right: Time.now.to_s 
       } 

조금 당신이 내 경험이 이해가되지 않습니다 할 Time.now.to_i.to_s하고 있었던 이상하고이 같이 확신했다 :

난 당신이 뭔가를해야 당신의 응답 블록 내부 믿는다 당신이 원하는 것을 출력하지 않을 것입니다. 왜냐하면 :

Time.now.to_i : 이것은 시간 값을 초 단위의 정수로 반환합니다.

Time.now.to_i 
#=> "1270968656.89607" 

Time.now.to_s : 문자열로 시간 반환 값입니다. 이은 (는) 시간을 얻을 to_i 첫 번째 방법을 실행하고 출력 Imgur - Output 무엇인지 설명하는 것 실행될 때 Time.now.to_i.to_s을하려고하는

Time.now.to_s 
#=> "2012-11-10 18:16:12 +0100" 

. 당신이 뭘하려고하는지 나의 이해에서 시간을 정수로 변환하고 다음 문자열로 변환 목록입니다. 이 작업을 수행 할 필요가 전혀 없습니다. Time.now.to_s 할 수 있습니다. wicked_pdf의 바닥 글 문제와 관련된 문제는 설치시 발생할 수 있습니다. 앞에서 언급했듯이 제공된 링크를 살펴보고 설정을 수정하고 제공된 설정을 고려하십시오. 희망이 도움이됩니다.

+0

안녕하세요 David, 답변 해 주셔서 감사합니다. 내 문제에 대한 해결책이 필요합니다. 나는 Homebrew를 통해 그것을 설치했다. Time.now.to_i 문제는 덜 걱정입니다. 그냥 내 표본에 사용 했어. 그런데 Time.now.to_i 또는 소수 또는 부동 소수점 to_i를 실행하려고하면 정수 여야하므로 소수 값을 사용하지 않아야합니다. – RodM

+0

@RodMedina 그래서 문제는 꼬리말이 나타나는 것과 관련이 있습니다. 제 예제에서 응답 블록을 다음과 같이 설정해 보았습니까? 또한'wkhtmltopdf'의 설정이 올바른지 확인하십시오. – David

+0

@ David, 당신은 저에게 많은 시간을 절약 해주었습니다. 귀하의 의견과 함께, 나는 바닥 글이 서버에서 서버로 또는 서버간에 나타나지 않는 것으로 나타났습니다. 나는이 것을 제거하고 다시 설치하려고 노력할 것이다. –