window.print只打印一张的问题

打印带滚动条的table时,出现了只显示一张的情况

<div class="container query-table" id="query-table">
    <div class="table-responsive tableResponsive" id="queryTable" style="overflow: scroll;height: 100%;">
        <!--startprint-->
        <table class="table text-center" id="printTable" style="border-left: none;">
            <thead class="tableHeader"></thead>
            <tbody class="tableBody"></tbody >
        </table >
        <!--endprint-->
    </div>
</div>

解决办法:

/*dom显示高度的设置*/

html, body {
height: 100%;
}
#query-table {
height: 100%;
}
#queryTable {
height: 100%;
}
/*打印高度的设置*/
@media print {
html, body {
height: inherit;
}
#query-table {
height: inherit;
}
#queryTable {
height: inherit !important;
}
}



### 使用 qrcode.js 实现二维码打印功能 为了实现二维码的打印功能,可以按照以下方法操作。首先,在网页环境中引入 `qrcode.js` 库以及 jQuery[^2]。 #### 创建 HTML 页面结构并加载所需脚本文件 确保页面中包含了用于显示二维码的容器元素,并正确加载了所需的 JavaScript 文件: ```html <html> <head> <title>二维码打印示例</title> <!-- 引入 jQuery --> <script type="text/javascript" src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <!-- 引入 QRCode.js --> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/qrcode/build/qrcode.min.js"></script> </head> <body> <!-- 显示二维码的 div --> <div id="qrcode-print"></div> <!-- 打印按钮 --> <button onclick="printQrCode()">打印二维码</button> <script> // 初始化二维码对象 var qrcode = new QRCode(document.getElementById("qrcode-print"), { text: "http://example.com", width: 128, height: 128 }); function printQrCode() { // 获取包含二维码图像的 canvas 元素 const qrCanvas = document.querySelector('#qrcode-print canvas'); if (qrCanvas) { // 将 canvas 转换为图片数据 URL const imgDataUrl = qrCanvas.toDataURL('image/png'); // 创建一个新的窗口专门用来打印 const printWindow = window.open('', '', 'height=500,width=700'); // 构建简单的 HTML 文档字符串,仅含一张图片 const docContent = ` <!DOCTYPE html> <html> <body onload="window.print(); window.close()"> <img style="width:100%; max-width:400px;" src="${imgDataUrl}" alt="QR Code"> </body> </html>`; // 向新打开的窗口写入文档内容 printWindow.document.write(docContent); printWindow.document.close(); } } </script> </body> </html> ``` 此代码片段展示了如何利用 `qrcode.js` 来生成一个二维码,并提供了一个点击事件处理函数 `printQrCode()`,该函数负责捕获由 `qrcode.js` 渲染到 DOM 的 `<canvas>` 元素中的二维码图像,将其转换成 PNG 图片的数据 URI 形式,最后在一个新的浏览器标签页内调用原生打印对话框完成打印任务。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值