2012-01-19 182 views
3

我試過PDFKit和wicked_pdf。HTML to PDF Rails

PDFKit幾乎得到了我在哪裏,我想,但這樣我就可以得到頁腳固定在底部,它沒有一個CSS規則支持:

position: fixed; 
bottom: 0; 

任何變通辦法解決這一問題?

使用Google搜索這個主題並沒有給出很多,除了像蝦和其他沒有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 

回答

0

我還沒有嘗試過PDFKit和wicked_pdf,所以我只是想知道。但也許這可以做到這一點。您是否嘗試過使用粘滯頁腳黑客?

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

+0

謝謝。我會檢查出來的。 – MattiasB

+0

不幸的是它沒有工作。回到原點。 :( – MattiasB

0

我真的不知道你爲什麼會想一個元素被固定在PDF文檔中,真的是你想要的嗎?此外,這兩個寶石都使用wkhtmltopdf,這是一個實用程序,它使用webkit來呈現其html,並最終將其轉換爲pdf。一旦在webkit上看起來很棒,它應該看起來像pdf。但我不認爲pdf支持元素「固定」在CSS中。

+0

更具體地說,我的問題是,在每個生成的頁面上,我想要一個特殊的頁腳,它是完全相同的,並且堅持每一個新頁面,並且固定它的位置就像html一樣工作,然後打印出來,但不能用pdf格式。 – MattiasB

+0

這是有道理的,請張貼你用來生成PDF的代碼.. –

0

我建議看看DocRaptor。從我的經驗來看,它比同類軟件有更好的CSS支持。

DocRaptor

下面是對代碼的鏈接使用DocRaptor使用Rails:

DocRaptor Rails example

+0

DocRaptor有一個問題,它不是開源的,所以我的老闆可能不想花這種錢,所以沒有我的電話在那裏。:( – MattiasB

+0

)你的老闆對你的時間有多重視?在浪費更多資金之前需要多少時間才能比使用像DocRaptor這樣的託管解決方案浪費更多的時間? – Gareth

2

CSS3中,你可以使用一個@page規則包括這樣頁腳:

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

這在許多付費PDF解決方案中得到支持,例如PDFReactor和我認爲王子。

但是Webkit(其wkhtmltopdf基於)doesn't support the CSS3 paged media rules所以你需要一個回退。

Wicked PDF documentation列出了一個:footer選項,您可以使用該選項傳遞HTML塊以在特定頁面中呈現。這看起來像是您的最佳選擇。