だから私はこのように見える各ページに必要なヘッダーを持っており 、ユーザーの名前で[ページ]と書かれている場所にページ番号を表示したい. ここに私がこれまでに持っているものがありますが、機能していません:
私のコントローラーで:
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
}
私の /layouts/_page_header.html.erb で
<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>
こちらのgithubのドキュメントによると
上記の「var x」にリストされているクラスを持つものはすべて、レンダリング時に自動入力されます。
これにより、span
クラスのページに現在のページ番号が表示されるはずですが、表示されません。どうすればこれを修正できますか?
更新:{ center: '[page] of [topage]' }
フッターのヘッダーに追加すると、ページ番号が正しく表示されることに言及することも重要だと思います。