我试图在我的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;。