如何使用wicked_pdf添加页面编号的动态标头

时间:2016-07-11 16:27:39

标签: javascript ruby-on-rails wkhtmltopdf wicked-pdf page-numbering

所以我在每个页面上都有一个我想要的标题 Pdf Report header我希望页码以用户名称显示在[页面]的位置。这是我到目前为止所做的,但它不起作用:

在我的控制器中:

Private Sub lboLockSheets_Change()
    Const PASSWORD As String = "password"
    Dim i As Integer
    Dim ws As Worksheet
    With lboLockSheets.Object

        Dim text As String

        For i = 0 To .ListCount - 1
            Set ws = Worksheets(.List(i))
            If .Selected(i) Then

                ws.Protect PASSWORD

            Else

               ws.Unprotect PASSWORD
            End If
        Next i

    End With
End Sub

在我的/layouts/_page_header.html.erb

render  pdf: "report",
        page_size: "Letter",
        layout: "pdf",
        template: "/results/report",
        footer: { 
            spacing: -265,
            html: { template: '/layouts/_report_header.html'} 
        },
        header: { 
            spacing: 3,
            html: { template: '/layouts/_page_header.html' }
        },
        margin: { 
            top: 20,
            bottom: 5 
        }

根据文件here on github

  

上面“var x”中列出的任何类都将在渲染时自动填充。

这会导致类页面的<html> <head> <% user_id = session[:user_id] %> <% user = User.find(user_id) %> <script> function number_pages() { var vars={}; var x=document.location.search.substring(1).split('&'); for(var i in x) {var z=x[i].split('=',2);vars[z[0]] = decodeURIComponent(z[1]);} var x=['frompage','topage','page','webpage','section','subsection','subsubsection']; for(var i in x) { var y = document.getElementsByClassName(x[i]); for(var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]]; } } </script> </head> <body onload="number_pages()"> <div class="page_header inline"> <h3 class="margin_none font_roboto">Nutrient Tracking Tool - Report</h3> </div> <div class="right font_roboto"> <strong>User:</strong> <%= user.name %> | <span class="page">[page]</span></br> </div> <div> <hr class="line_break" color="dodgerblue"> </div> </body> </html> 显示当前页码但不会显示。我怎样才能解决这个问题?

更新:我认为在页脚标题中添加span会导致页码正确显示可能也很重要:

page number showing

1 个答案:

答案 0 :(得分:0)

您的标记和JavaScript对我来说很好。

作为示例的示例,我已将此问题添加到Wicked PDF Issues项目并将其部署here

PDF版here

这种最小化的复制存在一些填充问题,但您可以看到页码编号按预期工作。

您使用的是什么版本的Ramp up : 5,以及在哪个平台上?如果可能的话,尝试升级或切换它。

尝试尝试以下wkhtmltopdf optionswkhtmltopdf--enable-javascriptjavascript-delay