尝试使用wicked_pdf显示PDF会引发ActionView :: WrongEncodingError

时间:2017-06-01 17:12:33

标签: ruby ruby-on-rails-4 wkhtmltopdf wicked-pdf

我试图在我的Rails环境中尽可能基本地显示PDF。按照他们的文档,我的Gemfile有以下几行:

gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'

我有一个wicked_pdf.rb初始值设定项(但它是一个空哈希值,并注释了我不需要指定exe_path的效果)。

config/initializers/mime_types.rb中,我有这个:

Mime::Type.register "application/pdf", :pdf

在我的个人资料控制器中,由于我想要做的是让页面显示静态PDF,我有这个动作:

def pdf_sample
  respond_to do |format|
    format.html
    format.pdf do
      render pdf: "pdf_sample" #, encoding: "ASCII-8BIT" 
    end
  end
end

我的routes.rb包括:

获取' pdf_sample',以:'个人资料#pdf_sample',as :: pdf

当我现在访问/pdf_sample时,它会呈现一个空白屏幕,但访问/pdf_sample.pdf会生成一个ActionView :: WrongEncodingError,并显示以下消息:

  

您的模板未保存为有效的UTF-8。请在文本编辑器中指定UTF-8作为模板的编码,或者通过将以下内容插入模板的第一行来标记模板及其编码:

     

#coding:<name of correct encoding\>

我不确定如何遵循这些说明 - 什么&#39;模板&#39;我应该把正确的编码?我试图直接渲染PDF,而不是包装在模板中。

我尝试将注释选项添加到上面的渲染调用中(在ruby中打开示例pdf并在其内容上调用#coding.to_s返回该字符串),但是没有更改消息说出来&#39 ; s&#39;无效UTF-8&#39;。

0 个答案:

没有答案