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

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

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,而後設置想要頁面開始的點,和結束的點,這樣就能夠匹配出咱們想要打印的部分了,this

接着咱們須要把當前頁面的innerhtml設置爲打印的頁面,而後打印,最後把頁面設置會一開始的樣子。spa

固然若是咱們不須要打印部分頁面的話直接:3d

 window.print();

就搞定了。code

打印效果圖:htm

 

不過這裏的打印會出現咱們input有值,可是打印的pdf中input沒有值的狀況:blog

因此咱們須要將jq將input中的值循環賦值:input

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

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

相關文章
相關標籤/搜索