使用Js將頁面打印或保存為Pdf


    很久沒有寫前端的文章了,今天就來說說js一個比較方便的功能,打印當前頁面或保存成pdf吧。

js有一個原生的函數,print(),顧名思義就是打印。但是有時候我們需要打印頁面某些部分,所以需要對頁面進行處理一下:

可以寫一個函數去封裝:

 function preview() {
            body = window.document.body.innerHTML;
            startpoint= "<!--startpoint-->";
            endpoint= "<!--endpoint-->";
            printdb= body.substring(body.indexOf(startpoint) + 17); 
            printdb = printdb.substring(0, printdb.indexOf(endpoint));
            window.document.body.innerHTML = printdb ;
            window.print();
            window.document.body.innerHTML = body ;
    }

這里首先獲取當前頁面的innerHtml,然后設置想要頁面開始的點,和結束的點,這樣就可以匹配出我們想要打印的部分了,

接着我們需要把當前頁面的innerhtml設置為打印的頁面,然后打印,最后把頁面設置會一開始的樣子。

當然如果我們不需要打印部分頁面的話直接:

 window.print();

就搞定了。

打印效果圖:

 

不過這里的打印會出現我們input有值,但是打印的pdf中input沒有值的情況:

所以我們需要將jq將input中的值循環賦值:

            var input = $('input');
            input.each(function () {
                $(this).attr("value", $(this).val());
            });

 這樣就不會出現input不打印的情況了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM