保存window.print()的输出,并通过ajax将其作为pdf发送到服务器的方法如下:
<button id="printButton">打印</button>
document.getElementById("printButton").addEventListener("click", function() {
// 打印页面
window.print();
// 将打印内容保存为PDF
html2pdf().from(window.document.body).save();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.9.2/html2pdf.bundle.min.js"></script>
document.getElementById("printButton").addEventListener("click", function() {
// 打印页面
window.print();
// 将打印内容保存为PDF
html2pdf().from(window.document.body).toPdf().output('datauristring').then(function (pdfData) {
// 创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();
// 设置请求方法和URL
xhr.open('POST', '服务器URL', true);
// 设置请求头,指定发送的数据类型为PDF
xhr.setRequestHeader('Content-Type', 'application/pdf');
// 发送PDF数据到服务器
xhr.send(pdfData);
// 监听请求状态变化
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
// 请求成功
console.log('PDF已成功发送到服务器');
}
};
});
});
请注意,上述代码中的"服务器URL"需要替换为实际的服务器URL,用于接收和处理发送的PDF文件。
这种方法可以将通过window.print()方法生成的打印内容保存为PDF文件,并通过Ajax将其发送到服务器。
领取专属 10元无门槛券
手把手带您无忧上云