javascript - 如何使用 JavaScript 创建用于打印的表格设计
问题描述
我在循环的帮助下打印了所有表格。但是在打印时,第二个表格的一半落在了第一个表格的页面上。请看照片。我希望每张表都打印在一页上
我在循环的帮助下打印了所有表格。但是在打印时,第二个表格的一半落在了第一个表格的页面上。请看照片。我希望每张表都打印在一页上
<table class="table table-bordered border-dark print-table" style="font-size:14px" dir="rtl">
<tr>
<td colspan="2"><img src="~/img/vira.png" height="75px" width="80px" /> </td>
<td colspan="2" style="font-size:14px">فیش حقوقی و تسویه حساب پرسنل <br /> @item.projectName</td>
<td colspan="2">فیش حقوقی @item.month ماه @item.yeur </td>
</tr>
<tbody class="bg-white ">
<tr>
<td colspan="2" class="table-borderless" style="font-size:12px">نام و نام خانوادگی : @item.PersonName @item.PersonFamily</td>
<td colspan="2" class="">کد پرسنلی : @item.PersonleCode</td>
<td colspan="2" class="ml-3">کد ملی : @item.PersonCode</td>
</tr>
<tr class=" table-warning">
<td>اطلاعات پایه</td>
<td>کارکرد</td>
<td>حقوق مزایا</td>
<td>مبلغ (ریال)</td>
<td>کسورات</td>
<td>مبلغ (ریال)</td>
</tr>
<tr class="table-secondary text-center">
<td colspan="1">جمع پرداختی</td>
<td colspan="2">@item.TotalPayment.ToString(numSpace) (ریال)</td>
<td colspan="1">جمع کسورات</td>
<td colspan="2">@item.TotalKosorat.ToString(numSpace) (ریال)</td>
</tr>
<tr>
<td colspan="3"> خالص پرداختی</td>
<td colspan="3">@item.TotalPayable.ToString(numSpace) (ریال)</td>
</tr>
</tbody>
</table>
<script>
function printDiv() {
var divToPrint = document.querySelectorAll('.print-table');
var htmlToPrint = '' +
'<style type="text/css">' +
'table th, table td {' +
'font-family:vazir;' +
'border:1px solid #000;' +
'text-align:center;' +
'padding:0.5em;' +
'}' +
'</style>';
divToPrint.forEach((item) => {
htmlToPrint += item.outerHTML;
})
newWin = window.open("");
newWin.document.write(htmlToPrint);
newWin.print();
newWin.close();
}
</script>
解决方案
推荐阅读
- html - 使域文件夹充当根
- highcharts - highcharts 条形图 正方形 图例
- cordova - Cordova 离线翻译
- php - 不同页面的wordpress自定义菜单
- php - IF 在 WHERE mysql 查询中
- python - Python/Numpy 中的内联列分配
- javascript - 将 Kirby 与 PopcornJS 一起使用时的问题
- ubuntu - 在ubuntu中为SSH创建虚拟用户(系统中不存在的用户)
- python - Pandas groupby 日期时间在应用中转换为 int64
- firefox - 在 Mozilla Firefox 中,只有最后一页文本会从较长的网页中打印出来