天天看點

使用JavaScript将目前頁面儲存成PDF,支援圖檔和文字的儲存

前端開發的朋友們可能會遇到這個需求:将您負責開發的網頁的全部内容,包括文字和圖檔,一起儲存成一個PDF檔案。如果采用螢幕截圖的話,預設Windows作業系統的截圖按鈕無法完整截取超過一螢幕的螢幕内容。

我在網上找了一段時間,搜集到了一些解決方案,在這裡分享給廣大程式員。

這個解決方案包含了兩個步驟,将前端頁面轉化為PDF:

1. 周遊目前網頁的DOM結構,收集所有DOM樹上每個節點的元素資訊及相應樣式,渲染出canvas圖像。這個周遊和渲染操作封裝在腳本檔案html2canvas.js裡。

2. 利用一個開源的JavaScript庫,jsPDF,在浏覽器端用JavaScript生成PDF檔案。PDF的生成邏輯封裝在腳本檔案jsPdf.debug.js裡。

看看如何在您的前端網頁裡使用這兩個JavaScript檔案。

下面是網頁内容:

在這裡放一段很長很長的檔案,能觀察到最後生成的PDF會自動分頁。。。。

在您的前端頁面裡畫一個按鈕,用于觸發将目前網頁儲存成PDF檔案的事件。

儲存整個網頁成PDF

HTML轉PDF的代碼如下:

使用JavaScript将目前頁面儲存成PDF,支援圖檔和文字的儲存
使用JavaScript将目前頁面儲存成PDF,支援圖檔和文字的儲存
使用JavaScript将目前頁面儲存成PDF,支援圖檔和文字的儲存
使用JavaScript将目前頁面儲存成PDF,支援圖檔和文字的儲存
使用JavaScript将目前頁面儲存成PDF,支援圖檔和文字的儲存

繼續閱讀