vue 前端實現pdf下載.npm install html2canvas jspdf --save
npm install html2canvas jspdf --save
// 頁面使用
<div id='pdfDom'>
...........
</div>
<el-button @click="getPdf('#pdfDom')">下載測試</el-button>
// main.js 檔案
import htmlToPdf from './plugins/utils/htmlToPdf';
Vue.use(htmlToPdf);
/**
* 匯出頁面為PDF格式
* */
import html2Canvas from 'html2canvas'
import JsPDF from 'jspdf'
export default {
install(Vue, options) {
Vue.prototype.getPdf = function () {
var title = this.htmlTitle
html2Canvas(document.querySelector('#pdfDom'), {
allowTaint: true
}).then(function (canvas) {
let contentWidth = canvas.width // 獲得該容器的寬
let contentHeight = canvas.height // 獲得該容器的高
let pageHeight = contentWidth / 592.28 * 841.89
let leftHeight = contentHeight
let position = 0
let imgWidth = 595.28
let imgHeight = 592.28 / contentWidth * contentHeight
let pageData = canvas.toDataURL('image/jpeg', 1.0)
let PDF = new JsPDF('', 'pt', 'a4') // A4紙,縱向
if (leftHeight < pageHeight) {
PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight)
} else {
while (leftHeight > 0) {
PDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)
leftHeight -= pageHeight
position -= 841.89
if (leftHeight > 0) {
PDF.addPage()
}
}
}
PDF.save(title + '.pdf')
})
}
}
}
相關文章
- npm install -save 和 -save-devNPMdev
- jspdf + html2canvas 實現html轉pdf (提高解析度版本)JSHTMLCanvas
- 報錯:npm install vue-router --save-devNPMVuedev
- npm install -g 和npm install --save-dev的關係NPMdev
- 一文了解npm install -g和npm install --save-dev的關係NPMdev
- npm 引數使用注意事項 :npm install babel-polyfill --save-gNPMBabel
- vue pdf下載Vue
- npm install realm --save失敗的問題與解決辦法NPM
- save download pdf
- npm –save-dev –save 的區別NPMdev
- npm install 時出現的問題NPM
- 前端方式實現excel下載前端Excel
- npm install 失敗NPM
- npm install 報錯NPM
- npm install失敗NPM
- 前端(vue)匯出pdf前端Vue
- 前端實現點選下載圖片前端
- 前端實現文件預覽(支援word、ppt、pdf)-【@zuiyouliao/vue-file-viewer】前端UIVueView
- npm install 出現 npm ERR! Unexpected end of JSON input while parsing near '...ostNPMJSONWhile
- npm下載源NPM
- 前端實現生成條形碼並下載前端
- linux下使用npm install報EACCES的解決方法LinuxNPM
- vue點選下載圖片的實現Vue
- vue小程式專案 pdf下載解決方案Vue
- 實現一個vue元件庫釋出到npmVue元件NPM
- html2canvas擷取圖片並下載HTMLCanvas
- 前端實現檔案下載和拖拽上傳前端
- ionic3 ,win7下 npm install 報operation not permittedWin7NPMMIT
- npm install 常見錯誤NPM
- npm install失敗的可能NPM
- npm install 報錯解決NPM
- npm install --legacy-peer-depsNPM
- npm install報錯, npm ERR! code MODULE_NOT_FOUNDNPM
- .netcore+vue 實現壓縮檔案下載NetCoreVue
- 國內npm源映象(npm加速下載) 指定npm映象NPM
- npm install 使用過程出現的問題總結NPM
- 求助!關於npm install 老是出現這個問題NPM
- vue整合pdfjs,實現pdf檔案預覽VueJS