Javascript 是否将当前窗口打印到文件/Blob对象?

Javascript 是否将当前窗口打印到文件/Blob对象?,javascript,Javascript,我想做: var file=window.print() 并且文件是打印文档的文件或Blob内容 这背后的想法是将我的发票打印成pdf格式,并自动作为电子邮件附件发送,但我的小指告诉我,我今天有点要求太高了 想法?像这样的事情怎么样(见) 您可以调用窗口。首先打印,然后创建blob并按您的意愿处理它(也许,用XHR发送blob,让您的服务器处理发送电子邮件的事宜?发送电子邮件是服务器的责任,您正试图从客户端执行此操作。不过,如果只想另存为pdf,则可以使用 这是你的电话号码 html <d

我想做:

var file=window.print()

并且
文件
是打印文档的
文件
Blob
内容

这背后的想法是将我的发票打印成pdf格式,并自动作为电子邮件附件发送,但我的小指告诉我,我今天有点要求太高了


想法?

像这样的事情怎么样(见)


您可以调用
窗口。首先打印
,然后创建blob并按您的意愿处理它(也许,用
XHR
发送blob,让您的服务器处理发送电子邮件的事宜?

发送电子邮件是服务器的责任,您正试图从客户端执行此操作。不过,如果只想另存为pdf,则可以使用 这是你的电话号码

html

<div id="content">
     <h3>Hello, this is a H3 tag</h3>

    <p>a pararaph</p>
</div>
<div id="editor"></div>
<button id="cmd">generate PDF</button>

如果你想发送电子邮件,你应该使用服务器端代码,而不是试图获取浏览器中显示内容的屏幕转储。这是你的网站吗?你希望你的用户能够这样做吗?@nnnnnn电子邮件是从服务器发送的。我提到这一部分是为了上下文,但我已经知道如何做到这一点。不过,我想在电子邮件中附加pdf,该pdf是用javascript动态打印的。正在打印的页面是一张发票,它不是“浏览器中显示的内容”,而是要保存为pdf格式,但我觉得这并不方便。@Kaido谢谢,我一定会看一看。对不起,我不太清楚。
window.print
如何与读者互动?我需要window.print,因为它链接到一个pdf驱动程序,我希望它能生成一个可以从javascript使用的pdf。抱歉,如果我不够清楚的话。@Sebas打印对话框中的“保存为pdf”来自操作系统的“打印”对话框,我不认为有任何方法可以从JS访问它。是的,实际上是Chrome,但我认为这是相同的问题。谢谢我不是试图从客户端发送电子邮件。
<div id="content">
     <h3>Hello, this is a H3 tag</h3>

    <p>a pararaph</p>
</div>
<div id="editor"></div>
<button id="cmd">generate PDF</button>
var doc = new jsPDF();
var specialElementHandlers = {
    '#editor': function (element, renderer) {
        return true;
    }
};

$('#cmd').click(function () {
    doc.fromHTML($('#content').html(), 15, 15, {
        'width': 170,
            'elementHandlers': specialElementHandlers
    });
    doc.save('sample-file.pdf');
});