Javascript 在不调用window.print()的情况下获取页面的可打印样式

Javascript 在不调用window.print()的情况下获取页面的可打印样式,javascript,css,jspdf,html2canvas,Javascript,Css,Jspdf,Html2canvas,我需要客户端将页面的可打印版本保存为pdf,而不需要用户打开打印对话框并自己选择“保存为pdf” 我正在使用jsPDF和html2canvas。我有一个可打印的页面样式,使用: @media print { @page { margin: 0cm; ... 等等 我使用这样的函数来保存文档: function savePDF(){ html2canvas(document.body).then(function(

我需要客户端将页面的可打印版本保存为pdf,而不需要用户打开打印对话框并自己选择“保存为pdf”

我正在使用jsPDF和html2canvas。我有一个可打印的页面样式,使用:

    @media print {
        @page {
            margin: 0cm;
        ...
等等

我使用这样的函数来保存文档:

 function savePDF(){
        html2canvas(document.body).then(function(canvas) {
            document.body.appendChild(canvas);
                var img=canvas.toDataURL("image/png");
                var doc = new jsPDF('p', 'pt', 'A4');
                doc.addImage(img,'JPEG',0,0);
                doc.save('report.pdf');
        });
    }
我的问题是,如何访问我选择的div的可打印版本

我想知道是否有这样的事情:

$(document.body).mediaStyle('print')
我可以用它来选择具有可打印样式的div

或者我误解了jsPDF,它只允许我打印显示给用户的内容


提前谢谢。

这不是复制品。链接的答案没有描述如何执行此程序。这不是重复的。链接的答案没有描述如何以编程方式执行此操作