所以我在每个页面上都有一个我想要的标题 我希望页码以用户名称显示在[页面]的位置。这是我到目前为止所做的,但它不起作用:
在我的控制器中:
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
会导致页码正确显示可能也很重要:
答案 0 :(得分:0)
您的标记和JavaScript对我来说很好。
作为示例的示例,我已将此问题添加到Wicked PDF Issues项目并将其部署here。
PDF版here
这种最小化的复制存在一些填充问题,但您可以看到页码编号按预期工作。
您使用的是什么版本的Ramp up : 5
,以及在哪个平台上?如果可能的话,尝试升级或切换它。
尝试尝试以下wkhtmltopdf options:wkhtmltopdf
,--enable-javascript
,javascript-delay