3

我试过 PDFKit 和 wicked_pdf。

PDFKit 几乎把我带到了我想要的地方,但它不支持 css 规则,因此我可以将页脚固定在底部:

position: fixed;
bottom: 0;

任何解决方法来解决这个问题?

谷歌搜索这个主题并没有提供太多,除了其他没有 html 支持的虾和类似的东西。

对于那些想知道的人。wkhtmltopdf 已安装并可以正常工作,因此 PDFKit 可以正常工作。

respond_to do |format|
  format.html {render :layout => nil}
  format.pdf do
    render :pdf => "file_name.pdf",

    :save_to_file => Rails.root.join('public/uploadedfiles', "filename")  
  end
end 
4

4 回答 4

2

在 CSS3 中,您可以使用@page规则以这种方式包含页脚:

@page {
  @bottom-center {
    content: "foo";
  }
}

许多付费 PDF 解决方案都支持这一点,例如 PDFReactor,我认为是 Prince。

但是,Webkit(wkhtmltopdf基于)不支持 CSS3 分页媒体规则,因此您需要一个后备。

Wicked PDF 文档列出了一个选项,您可以使用该:footer选项传入 HTML 块以在特定页面中呈现。这看起来是您的最佳选择。

于 2012-01-20T09:08:46.023 回答
0

我没有尝试过 PDFKit 也没有 wicked_pdf 所以我只是想知道。但也许这可以解决问题。您是否尝试过使用 Sticky Footer hack 代替?

http://ryanfait.com/sticky-footer/

于 2012-01-19T10:44:11.427 回答
0

我建议调查 DocRaptor。根据我的经验,它比同类程序有更好的 CSS 支持。

猛禽博士

下面是使用 DocRaptor 和 Rails 的代码链接:

DocRaptor Rails 示例

于 2012-01-19T21:29:24.173 回答
0

我真的不确定你为什么要在 pdf 文档中修复一个元素,这真的是你想要的吗?此外,这两个 gem 都使用 wkhtmltopdf,这是一个利用 webkit 呈现其 html 并最终将其转换为 pdf 的实用程序。一旦它在 webkit 上看起来很棒,它应该看起来很棒 pdf。但我不认为 pdf 支持像 CSS 中那样“固定”的元素。

于 2012-01-19T11:55:05.727 回答