前端開發的朋友們可能會遇到這個需求:将您負責開發的網頁的全部内容,包括文字和圖檔,一起儲存成一個PDF檔案。如果采用螢幕截圖的話,預設Windows作業系統的截圖按鈕無法完整截取超過一螢幕的螢幕内容。
我在網上找了一段時間,搜集到了一些解決方案,在這裡分享給廣大程式員。
這個解決方案包含了兩個步驟,将前端頁面轉化為PDF:
1. 周遊目前網頁的DOM結構,收集所有DOM樹上每個節點的元素資訊及相應樣式,渲染出canvas圖像。這個周遊和渲染操作封裝在腳本檔案html2canvas.js裡。
2. 利用一個開源的JavaScript庫,jsPDF,在浏覽器端用JavaScript生成PDF檔案。PDF的生成邏輯封裝在腳本檔案jsPdf.debug.js裡。
看看如何在您的前端網頁裡使用這兩個JavaScript檔案。
下面是網頁内容:
在這裡放一段很長很長的檔案,能觀察到最後生成的PDF會自動分頁。。。。
在您的前端頁面裡畫一個按鈕,用于觸發将目前網頁儲存成PDF檔案的事件。
儲存整個網頁成PDF
HTML轉PDF的代碼如下:
