我是新的wicked_pdf寶石,但我注意到一些奇怪的一代PDF,我使用兩個目的的寶石,一,顯示報價,第二個通過電子郵件發送PDF。Wicked_pdf生成我的PDF與奇怪的字符,但是當我使用控制器呈現一切都很好
在我的節目中控制器的動作我有這樣的事情:
def show
@lot_quotation = set_lot_quotation
authorize @lot_quotation
respond_to do |format|
format.html
format.pdf do
filename = 'cotizacion_' + @lot_quotation.id.to_s
render pdf: "lot_quotation",
layout: 'lot_quotation.html.erb',
page_size: 'Letter',
save_to_file: Rails.root.join('pdfs', "#{filename}.pdf")
end
end
end
一切都很好!
然後,我有一個動作「send_quotation」,即生成PDF,然後我用的ActionMailer發送它...這裏是我的代碼:
def send_quotation
@lot_quotation = LotQuotation.find(params[:id])
filename = 'cotizacion_' + @lot_quotation.id.to_s + '.pdf'
html = render_to_string template: 'lot_quotations/show.pdf.erb', layout: "lot_quotation.html", pdf: "lot_quotation",
page_size: "Letter", encoding: 'UTF-8'
pdf = WickedPdf.new.pdf_from_string(html)
# then save to a file
save_path = Rails.root.join('pdfs',filename)
File.open(save_path, 'wb') do |file|
file << pdf
end
SeruMailer.cotizacion(params[:email_to], @lot_quotation)
authorize @lot_quotation
respond_to do |format|
format.html
format.js
end
end
它,工作原理,但...當我打開PDF文件,我有這樣的東西:
%PDF-1.4 1 0 obj << /Title (þÿCotizacion) /Creator (þÿwkhtmltopdf 0.12.2.1) /Producer (þÿQt 4.8.6) /CreationDate (D:20150508165111-04'00') >> endobj 3 0 obj <<
/Type /ExtGState /SA true /SM 0.02 /ca 1.0 /CA 1.0 /AIS false /SMask /None>> endobj 4 0 obj [/Pattern /DeviceRGB] endobj 6 0 obj << /Type /XObject /Subtype /Image
/Width 351 /Height 69 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 7 0 R /Filter /DCTDecode >> stream ÿØÿàJFIF``ÿÛC
ÿÛC ÿÀ E _ " ÿÄ
ÿÄμ } !1A Qa "q 2 ‘¡ #B±Á RÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„... †‡ˆ‰Š’「」•–— ̃TMš¢£¤¥¦§ ̈©a23 ́μ¶· ̧1oÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ
ÿÄμ w !1 AQ aq "2 B‘¡±Á#3Rð brÑ $4á%ñ &'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„... †‡ˆ‰Š’「」•–— ̃TMš¢£¤¥¦§ ̈©a23 ́μ¶· ̧1oÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ýü¢Šà~'þÒžøC þÜÖí#Ÿμ
́N$ ÿà ßUMWW¶Ðt÷o1⁄4 ̧‚Ö ÇÏ$® ñ5ñ ̄Å¿ø* ÕÜ/oàí -
éúüïtÿr>õóWÄ Œþ*ø§xòëoÖ¡ ̈ Ñ ÿwÿ|P Ý_ ÿà¡Þ øy Ä t× %Ô |‘Y ûmÒ1⁄4oÃßðTÝuÿ† ̈ðN1ÿãIÿ¿0 ñ ÙþÍ3⁄4 OˆŸ2Ýî ,2[%ý
我不知道爲什麼?我錯過了什麼嗎?我已經檢查了github問題,問題和類似的東西......但我發現沒有線索......我認爲是與render_to_string相關的東西。
編輯
這裏是我的佈局應用程序/視圖/佈局/ lot_quotation.html.erb
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta charset="utf-8" />
<%= wicked_pdf_stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= wicked_pdf_javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
<style>
body {font-size: 11px !important;}
h3 {font-size: 12px !important;}
table, tr, td, th, tbody, thead, tfoot {
page-break-inside: avoid !important;
}
h2 {font-size: 14px !important;}
</style>
</head>
<title>Cotizacion</title>
<body>
<%= yield %>
</body>
</html>
lot_quotation.html.erb真的是你的佈局:或者應該是模板:? –
你好安塔爾,是的,這是我的佈局,我仔細檢查了!,請檢查我的文章,我已經編輯它,謝謝,你有什麼想法? – svonborries
發佈您的PDF模板。即(send_quotation.pdf.erb) –