レール 4 * Mac OSX 10.8.4 *
wicked_pdf pdf 生成に次の Gem を使用しています。
gem 'wkhtmltopdf-binary'
gem 'wicked_pdf'
ビューを pdf としてレンダリングすると問題なく動作し、Google は PDF ビューアを正しく表示します。私の PDF は、私が望むとおりに見えます。
ユーザーに電子メールで送信する目的で、PDF をディスクに保存しようとすると、問題が発生します。
たとえば、これは正常に機能します。
def command
@event = Event.find(params[:id])
@client = Contact.find(@event.client_id)
@organizer = Contact.find(@event.organizer_id)
render layout: 'command',
pdf: 'Event Command',
show_as_html: params[:debug].present?,
dpi: 300,
print_media_type: true,
margin: {
top: 0,
bottom: 0,
left: 0,
right: 0
}
end
これにより、Google Chrome PDF ビューアーで PDF がレンダリングされます。
しかし、ここでPDFを生成してファイルに保存したいところです。
def send_email
@event = Event.find(params[:id])
@client = Contact.find(@event.client_id)
@organizer = Contact.find(@event.organizer_id)
proforma = render_to_string(
pdf: 'proforma.pdf',
template: 'events/proforma',
layout: 'proforma'
)
pdf = WickedPdf.new.pdf_from_string(
proforma
)
save_path = Rails.root.join('public','proforma.pdf')
File.open(save_path, 'wb') do |file|
file << pdf
end
end
しかし、私はエラーが発生しています:
Failed to execute:
Error: "\xFE" from ASCII-8BIT to UTF-8