【问题标题】:jsPDF show print page instead of downloading the filejsPDF显示打印页面而不是下载文件
【发布时间】:2019-10-24 22:43:48
【问题描述】:

嗨,我有一个问题,谁能告诉我如何在浏览器中显示打印页面而不是下载文件。我正在使用 jsPDF 库。

var pdf = new jsPDF('p', 'mm', 'a4');
pdf.text(30, 30, 'Hello world!');
pdf.save('hello_world.pdf');

这是一个示例代码。 当我运行它时,它会下载文件但不显示打印页面。我想要的只是显示打印页面,而不是下载文件然后打印。

谢谢!!!

【问题讨论】:

    标签: javascript jquery jspdf


    【解决方案1】:

    只需使用 doc.output()

    var doc = new jsPDF();
     doc.text(20, 20, 'Hello world!');
     doc.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');
     doc.addPage();
     doc.text(20, 20, 'Do you like that?');
    
    // Output as Data URI
     doc.output('datauri');
    

    铬

    var doc = new jsPDF();
    doc.text(20, 20, 'Hello world!');
    doc.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');
    doc.addPage();
    doc.text(20, 20, 'Do you like that?');
    
    var base64string = doc.output('datauristrlng');
    debugBase64( base64string );
    
    function debugBase64(base64URL){
        var win = window.open();
        win.document.write('<iframe src="' + base64URL  + '" frameborder="0" style="border:0; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%;" allowfullscreen></iframe>');
    }
    

    【讨论】:

    • 是的,它确实有效,但它需要重新加载到 chrome 上打开的页面,但在 firfox 上可以正常工作
    • 您可以使用以下chrome解决方案function debugBase64(base64URL){ var win = window.open(); win.document.write('&lt;iframe src="' + base64URL + '" frameborder="0" style="border:0; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%;" allowfullscreen&gt;&lt;/iframe&gt;'); }和var base64string = doc.output('datauristrlng');将输出保存到变量中,然后调用debugBase64(base64string);
    • 是的,它适用于两种浏览器,只需要放置“bloburl”而不是“datauristrlng”。
    猜你喜欢
    • 1970-01-01
    • 2011-03-21
    • 2012-11-03
    • 2013-02-22
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2013-12-26
    • 2023-03-25
    相关资源
    最近更新 更多