2013-09-25 140 views
1

我有一個問題,我正在使用rails 2.3.8 developing應用程序。我的問題是PDF。當一個生成的PDF顯示在Linux中的所有圖像(Ubuntu的)圖像不顯示在pdf

但相同的代碼,當我在Windows7中嘗試的PDF沒有顯示body.the頁頭和頁腳圖像加載。佈局中的頁眉和頁腳。我正在使用wickedpdf生成pdf。 我的代碼是

<%= wicked_pdf_image_tag "#{Rails.root}/public/images/master_student/profile/default_student.png" ,:width=>85,:height=>100 %> 

在Ubuntu工作正常,但在Windows7中無法正常工作的代碼.. 請幫助

+0

是'wicked_pdf_image_tag「#{} Rails.root ...'在Ubuntu和Windows相同的輸出在其他也就是說,不'Rails.root'產生相同的路徑在這兩種情況?如果不是,您可能正在運行到臭名昭著的相對VS絕對路徑的問題。 –

+0

雅它生產用於Windows和Linux – user2814491

+0

只是一個想法相同的路徑...刪除'#{Rails.root}'並暫時硬編碼資產的_absolute_路徑,看看這是否有所作爲。 –

回答

1

我只是克服了一個類似的問題在Windows上通過回形針上傳的圖片,因爲WickedPDF的wicked_pdf_image_tag幫手需要圖像公開/圖像。

我曾經給here該問題的解決方案,但我仍然無法得到的圖像在PDF渲染。然後我發現,如果將圖像放入public/images文件夾並以此方式引用,則wicked_pdf_image_tag助手會在「file://」之後使用正斜槓而非反斜槓呈現圖像標記。

這是輔助方法,我結束了,它取代wicked_pdf_image_tag:

module ApplicationHelper 
    def wicked_pdf_image_tag_for_public(img, options={}) 
    if img[0] == "/" 
     # Remove the leading slash 
     new_image = img.slice(1..-1) 
     image_tag "file:///#{Rails.root.join('public', new_image).to_s.gsub("/", "\\")}" 
    else 
     image_tag "file://#{Rails.root.join('public', 'images', img).to_s.gsub("/", "\\")}}", options 
    end 
    end 
end