2013-04-09 183 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,所以我不知道這將如何反應。