1

我已经安装并使用了 Mountain Lion:

  • wicked_pdf (0.9.6)
  • qt-4.8.4
  • wkhtmltopdf 0.10.0 rc2

我使用 brew install --devel --build-patched-qt wkhtmltopdf 安装了 qt 和 wkhtmltopdf

我正在使用 Rails 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
                }

内容生成良好,但没有页脚。有什么建议吗?

4

1 回答 1

1

在某些阶段,这可能是您安装方式的问题,wkhtmltopdf因为它可能不会生成必要的页脚。还注意到您在 OSx 上,所以我相信您会在这里下载 wkhtmltopdf ,然后通过执行某些操作 cd 到更正目录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:以字符串形式返回时间值。

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

当您尝试执行Time.now.to_i.to_s此操作时,它将获得时间并执行第一个方法,to_i并说明您的输出是Imgur-Output。因为据我了解,您要做的是列出时间,将其转换为整数,然后将其转换为字符串。没有必要这样做,只需这样做Time.now.to_s就可以了。至于您关于页脚问题的问题wicked_pdf可能取决于您的安装。如前所述,请查看提供的链接,同时修改您的设置并考虑我提供的建议设置。希望这可以帮助。

于 2013-06-21T00:16:31.227 回答