首页 文章

在wicked_pdf Rails中添加 Headers 获取空白pdf页面之后

提问于
浏览 71
0

我的代码工作完美没有 Headers ,但添加 Headers 后,我得到空白的pdf页面 . 请解决我的问题

def show
    @resume = current_user.resume
    respond_to do |format|
      format.html{ }
      format.pdf do 
         render template: 'student/resumes/show', 
                pdf: "#{current_user.first_name}.pdf",
                # :header => { :content => render_to_string({:template => 'student/resumes/header.pdf.erb'})}
                header:  {
                          html: {           
                          template: 'student/resumes/header'},
                          layout: 'pdf.erb',
                          handlers: [:erb],
                          formats: [:pdf] 
                          }
      end
    end
  end

2 回答

  • 1

    你的右括号位于错误的位置 . header - html应包含所有其他键

    def show
        @resume = current_user.resume
        respond_to do |format|
          format.html{ }
          format.pdf do 
             render template: 'student/resumes/show', 
                    pdf: "#{current_user.first_name}.pdf",
                    # :header => { :content => render_to_string({:template => 'student/resumes/header.pdf.erb'})}
                    header:  {
                              html: {           
                              template: 'student/resumes/header',
                              layout: 'pdf.erb',
                              handlers: [:erb],
                              formats: [:pdf] 
                              }}
          end
        end
      end
    
  • 0

    同样的问题我也面对代码,所以我尝试了很多组合,但在最后我发现以下解决方案,对我有用

    遵循正确的HTML DOM格式,完美运行:

    <!DOCTYPE html>
    <html>
      <head>
       <title></title>
        <link href=“https://fonts.googleapis.com/css?family=Roboto:400,700” rel=“stylesheet”>
        <%= wicked_pdf_stylesheet_link_tag ‘pdf’ %>
      </head>
      <body>
       <h1>Hello World</h1>
      </body>
    </html>
    

    以上是 Headers 的示例

    我还在控制器中添加了以下属性来生成PDF

    render template: 'backend/report_result/report',
                 pdf: "test",
                 header:  {   html: {            template: 'backend/report_result/header'}},
                 margin: { top: 30, bottom: 20, left: 25, right: 25 }
    

    确保使用pdf.erb格式的所有属性以及视图

相关问题