pdfkitのheaderだけが、htmlタグが解釈されず、そのまま出力されます。
pdfkitを用いて、PDFファイルを生成する機能を実装しておりまして、
PDFファイルができるところまではできました。
https://github.com/pdfkit/pdfkit
ただ、共通のheader, footerを入れる際に、htmlタグがそのままでてしまいます。
Controllerの処理は次の通り、記述しております。
レイアウトはslimで書いておりまして、この部分は問題なく、htmlタグが解釈できておりました。
def export
respond_to do |format|
# .html でアクセスした際は、リダイレクト(show_as_html を true にするため、debug: 1 で)
format.html { redirect_to action: 'export', format: 'pdf', debug: 1 }
format.pdf do
html = render_to_string template: 'layouts/export.html.slim'
@pdf = PDFKit.new(html, header_left: '<p>hoge</p>')
@pdf.stylesheets << "#{Rails.root}/app/assets/stylesheets/pdf.css"
send_data @pdf.to_pdf,
filename: "test.pdf",
type: "application/pdf",
disposition: "inline"
end
end
end
header_leftを追加し <p>hoge</p>
も出力されているのですが、
headerだけはhtmlタグがそのままでてしまいます。
実行環境
mac OSX yosemite
pdfkit (0.8.2)
wicked_pdf (1.1.0)
Rails 4.2.7.1
ruby 2.3.1p112
対策1
エスケープしたりしましたが、ダメでした。
ApplicationController.helpers.sanitize "<p>hoge</p>"
http://qiita.com/2or3/items/3f25216663190676a693
対策2
Slimがダメなのかと思い次の通りやりましたが、ダメでした。
@pdf = PDFKit.new('<html><head></head><body></body></html>', header_left: '<p>hoge</p>')