2013-04-09 187 views
0

我已经安装了pdfkit,一切似乎都正常。但是,PDF看起来不像我试图以PDF格式呈现的页面。我试图确保css文件正在正确加载,但我不知道如何确认。我将它们内联加载到视图上,并尝试指定pdf对象的路径名。仅供参考,我使用引导程序。pdfkit不能正确渲染PDF格式

但是,页面上的所有元素几乎一直拉到页面的左侧。我也尝试添加%i.icon-user来测试该资产是否加载到PDF上,但它没有。但我不确定这是否意味着CSS不加载或不加载。

最后,我使用流体设计(响应)完全为视图,可能会导致问题?

这里有一种观点我加载控制器:

def client_view 
    @invoice = Invoice.find_by_public_id(params[:public_id]) 
    kit = PDFKit.new(render_to_string(:client_view, :layout => false)) 
    kit.stylesheets << Rails.application.assets['application.css'].pathname 
    kit.to_file("#{@invoice.public_id}.pdf") 
    end 
+0

我用Bootstrap试过PDFkit,这是一个令人沮丧的经历。 这是不可靠的,并会崩溃的Web服务器很多。 我放弃了,决定把额外的工作,并使用虾。 这是非常值得的努力。我很确定PDFkit在CSS媒体查询方面效果不佳。 [Bootstrap Responsive Design](http://twitter.github.io/bootstrap/scaffolding.html#responsive) – 2013-04-09 20:12:31

+0

我还没有部署到heroku,所以我没有遇到网络服务器问题。您是否能够使pdf看起来正确或不正确?另外,你是如何得到虾的工作与HTML => pdf一代? – 2013-04-09 20:44:25

回答

0

终于得到它的工作。事实证明,PDFkit在预编译资源方面效果并不理想。由于我只是将PDFkit指向资产管道文件夹,因此不会呈现资产。所以,我对它们进行了预编译(本地),并将PDFkit对象链接到本地​​呈现的css文件,现在一切看起来都很棒(即使采用了响应式设计)。然而,我还没有推到heroku,所以我不知道这将如何反应。