javascript - 使用 printThis.js 重复页眉和页脚
问题描述
我想使用 printThis.js 插件在所有页面中打印带有页眉和页脚重复的大型 html 内容,而不会重叠。
但页眉和页脚不重复。
$("#printKitten").click(function () {
$("#divContent").printThis({
header: $('#divHeader').html,
footer: $('#divFooter').html
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="../Scripts/jquery-3.0.0.min.js"></script>
<script src="../Scripts/printThis.js"></script>
<button id="printKitten">Print</button>
<div id="divHeader">
HEADER <br />HEADER <br />HEADER <br />HEADER <br />HEADER <br />HEADER <br />
</div>
<div id="divContent">
<p>Content placeholder START...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...</p>
<p>Content placeholder ...END</p>
</div>
<div id="divFooter">
footer <br />footer <br />footer <br />footer <br />footer <br />footer <br />
</div>
我也试过了,@media print
但没有运气。
解决方案
printThis
好像没有这个功能。
你可以要求。
同时,您可能需要考虑使用 CSS 的这种方法。它利用了一个table
元素,它的thead
和tfoot
重复,但它tbody
不重复。
引用基本设置:
<table class="report-container">
<thead class="report-header"> </thead>
<tfoot class="report-footer"> </tfoot>
<tbody class="report-content"> </tbody>
</table>
根据作者的重要说明:
- 每个人都
<th>
必须住在里面<tr>
才能工作<thead>
必须首先出现在您的<table>
- 你真的可以让你想要的任何东西出现在
<div class="header-info">
里面<th>
,包括其他表格。仿佛又回到了 1996 年!- !很重要!
<tfoot>
必须在之后<thead>
但之前tbody>
,即使它在之后渲染<tbody>
。
主要内容
<tbody class="report-content">
<tr>
<td>
<div class="main">
...
</div>
</td>
</tr>
</tbody>
CSS
thead.report-header {
display: table-header-group;
}
tfoot.report-footer {
display:table-footer-group;
}
tabel.report-container {
page-break-after: always;
}
去看看那篇文章。它得到了很好的解释,并且可以作为一个很好的解决方法。
推荐阅读
- java - 如何计算 RecyclerView 中总项目的总和?
- java - 如何创建模型以传递泛型
- mysql - mysql选择其中一个有n项的记录
- visual-studio - Visual Studio 无法检索服务“Microsoft.VisualStudio.WindowsAzure.Authentication.IAzureRMTenantService”
- javascript - JavaScript为innerHTML分配一个按钮,但是没有点击
- c# - 从 Web API 调用 asmx 服务
- multithreading - 如何通过CSV文件直接增加线程数
- angular - 在客户端引导时重新渲染
- c# - 如何在使用表达式主体定义的类中添加只读“列表”属性?
- mysql - 我怎样才能做到这一点,所以我的 runningtotal 行是百分比格式,其中 100.00000 等于 100% 等等