Cha*_*les 9 javascript pdf jspdf
所以,我动态创建了一个pdf,现在我想打印它:
var doc = new jsPDF();
var name = "Doe, John"
doc.setFontType("normal");
doc.setFontSize(12);
doc.text(20,20,'Name: '+ name);
//do something that prints the pdf...
Run Code Online (Sandbox Code Playgroud)
那么,我如何获取这个 doc 变量并打印它。我发现的其他任何地方都使用 pdf 的网址。我需要先为它创建一个 url 吗?
因此,我目前使用的解决方案是在新选项卡/窗口中显示 pdf,从中可以打印 pdf。
window.open(doc.output('datauristring'));
Run Code Online (Sandbox Code Playgroud)
不幸的是,这只适用于 Chrome。任何人都知道如何让它在 IE、Firefox、Safari 等中工作?
我仍然想知道是否有办法跳过这一步(打开 pdf 然后需要按下另一个按钮)。
MIT*_*WAL 10
autoPrint()jsPDF 库提供了一个方法。您可以使用它,如下所示
var doc = new jsPDF();
var name = "Doe, John"
doc.setFontType("normal");
doc.setFontSize(12);
doc.text(20,20,'Name: '+ name);
doc.autoPrint();
//This is a key for printing
doc.output('dataurlnewwindow');
Run Code Online (Sandbox Code Playgroud)
因此,总而言之,对于 Chrome 和 Safari,请使用
window.open(doc.output('datauristring'));
Run Code Online (Sandbox Code Playgroud)
但对于 IE 和 Firefox,请使用
doc.save();
Run Code Online (Sandbox Code Playgroud)
这些都将允许您在新窗口中打开 pdf,从中可以打印它。对于那些花时间弄清楚在其他浏览器上需要什么的人,请随时在此处添加您的研究...
尝试这个:
window.open(doc.output('bloburl'), '_blank');
Run Code Online (Sandbox Code Playgroud)
有时这可能会导致 adblock 出现问题。