国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue中實現(xiàn)將頁面或者div內(nèi)容導(dǎo)出為pdf格式

這篇具有很好參考價值的文章主要介紹了vue中實現(xiàn)將頁面或者div內(nèi)容導(dǎo)出為pdf格式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

將Vue單頁面轉(zhuǎn)成pdf并下載

步驟1:下載對應(yīng)的庫

npm install html2canvas;

npm install jspdf --save

步驟2:創(chuàng)建一個htmlToPdf.js的js文件, 然后在main.js中全局引用一下,編寫如下代碼:

// htmlToPdf.js
// 導(dǎo)出頁面為PDF格式
import html2Canvas from 'html2canvas'
import JsPDF from 'jspdf'
export default {
  install(Vue, options) {
    Vue.prototype.getPdf = function () {
      var title = this.htmlTitle  //DPF標(biāo)題
        html2Canvas(document.querySelector('#pdfDom'), {
          allowTaint: true,
          taintTest: false,
          useCORS: true,
          y:72, // 對Y軸進行裁切
          // width:1200,
          // height:5000,
          dpi: window.devicePixelRatio * 4, //將分辨率提高到特定的DPI 提高四倍
          scale: 4 //按比例增加分辨率 
        }).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')
          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')
      })
    }
  }
}
// main.js
import htmlToPdf from '@/util/htmlToPdf'
Vue.use(htmlToPdf)

步驟三:在vue頁面中給需要打印的區(qū)域一個div標(biāo)簽,然后給div一個id,id名和htmlToPdf.js中選擇的名字一致,代碼如下:

<div id="pdfDom">
  ... 將要打印的內(nèi)容放入其中
</div>

步驟四:在data節(jié)點中聲明一個htmlTitle變量,指定為pdf文件的文件名

data() {
	return {
    htmlTitle: '要生成pdf的文件名'
  }
}

步驟五:在vue頁面中添加一個button按鈕,事件名和htmlToPdf.js中的方法名保持一致。

<el-button @click="getPdf()">PDF</el-button>

歐克了,完成以上步驟就可以實現(xiàn)div中內(nèi)容的轉(zhuǎn)為pdf并下載文件文章來源地址http://www.zghlxwxcb.cn/news/detail-670344.html

到了這里,關(guān)于vue中實現(xiàn)將頁面或者div內(nèi)容導(dǎo)出為pdf格式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • vue 前端導(dǎo)出頁面圖表保存為Html格式文檔

    vue 前端導(dǎo)出頁面圖表保存為Html格式文檔

    問題描述: 圖一 解決思路: 想要達到要求的效果,網(wǎng)上找了很久,最后記錄下2種方案: 方案一、使用html2canvas組件,html2canvas的作用就是允許我們直接在用戶瀏覽器上拍攝網(wǎng)頁或某一部分的截圖。它的屏幕截圖是基于DOM元素的,實際上它不會生成實際的屏幕截圖,而是基于

    2024年02月03日
    瀏覽(21)
  • vue3 el-upload 上傳附件及預(yù)覽 限制只能上傳一個圖片或者pdf格式的文件

    vue3 el-upload 上傳附件及預(yù)覽 限制只能上傳一個圖片或者pdf格式的文件

    效果如圖 直接看代碼吧 template部分 css部分 js部分

    2024年02月11日
    瀏覽(105)
  • 前端vue基于html2canva jspdf 實現(xiàn)前端頁面加水印 并導(dǎo)出頁面PDF

    前端vue基于html2canva jspdf 實現(xiàn)前端頁面加水印 并導(dǎo)出頁面PDF

    隨著技術(shù)的發(fā)展,開發(fā)的復(fù)雜度也越來越高,傳統(tǒng)開發(fā)方式將一個系統(tǒng)做成了整塊應(yīng)用,經(jīng)常出現(xiàn)的情況就是一個小小的改動或者一個小功能的增加可能會引起整體邏輯的修改,造成牽一發(fā)而動全身。通過組件化開發(fā),可以有效實現(xiàn)單獨開發(fā),單獨維護,而且他們之間可以隨

    2024年02月03日
    瀏覽(28)
  • vue2如何將頁面生成 pdf 導(dǎo)出 html2Canvas + jspdf

    vue2如何將頁面生成 pdf 導(dǎo)出 html2Canvas + jspdf

    npm i html2canvas npm i jspdf import html2canvas from \\\'html2canvas\\\'; import jsPDF from \\\'jspdf\\\' export const htmlToPDF = async (htmlId, title = \\\"報表\\\", bgColor = \\\"#fff\\\") = { ? let pdfDom = document.getElementById(htmlId) ? pdfDom.style.padding = \\\'0 10px !important\\\' ? const A4Width = 595.28; ? const A4Height = 841.89; ? let canvas = await html2canvas(pd

    2024年02月16日
    瀏覽(24)
  • java按照模板導(dǎo)出pdf或者word

    java按照模板導(dǎo)出pdf或者word

    (一)制作模板 ?1、在word里制作模板 ????????因為PDF常用的軟件不支持編輯,所以先用Word工具,如WPS或者Office新建一個空白Word文檔,里面制作出自己想要的樣式。 2、 將Word轉(zhuǎn)換成PDF形式 ?????????將設(shè)置好的Word文檔轉(zhuǎn)換成PDF形式,保存起來。 3、編輯PDF準(zhǔn)備表單?

    2024年02月06日
    瀏覽(27)
  • vue中實現(xiàn)div可編輯,并插入指定元素,樣式

    vue中實現(xiàn)div可編輯,并插入指定元素,樣式

    前言: ? ? ? ? vue中實現(xiàn)一個既可以編輯內(nèi)容,有可以動態(tài)編輯內(nèi)容插入一個帶有樣式的內(nèi)容,改變默認內(nèi)容后,這個樣式消失的效果,這里來整理下調(diào)研與解決實現(xiàn)問題之路。 1、可以光標(biāo)點擊任意地方,然后點擊按鈕,插入帶有span的內(nèi)容 2、默認span是有樣式,但是一旦內(nèi)

    2024年02月10日
    瀏覽(23)
  • vue中實現(xiàn)拖動調(diào)整左右兩側(cè)div的寬度(左右拖拽)

    vue中實現(xiàn)拖動調(diào)整左右兩側(cè)div的寬度(左右拖拽)

    ? 一、HTML代碼 template ?? ?div class=\\\"box\\\" ref=\\\"box\\\" ?? ??? ?div class=\\\"left\\\" ?? ??? ??? ?!--左側(cè)div內(nèi)容-- ?? ??? ?/div ?? ??? ?div class=\\\"resize\\\" title=\\\"收縮側(cè)邊欄\\\" ?? ??? ??? ?? ?? ??? ?/div ?? ??? ?div class=\\\"mid\\\" ?? ??? ??? ?!--右側(cè)div內(nèi)容-- ?? ??? ?/div ?? ?/div /t

    2024年02月14日
    瀏覽(17)
  • 解決Visio另存為(或者導(dǎo)出)pdf字符間距變化/不均等字母間距的問題

    解決Visio另存為(或者導(dǎo)出)pdf字符間距變化/不均等字母間距的問題

    當(dāng)用Visio導(dǎo)出PDF時,有時候會導(dǎo)致字符間距變化/不均等,這就讓人頭疼,覺得匪夷所思了 Microsoft Visio是一個流程圖軟件。Visio制作的圖表范圍十分廣泛,可以利用Visio的強大繪圖功能繪制地圖、企業(yè)標(biāo)志等,同時Visio支持將檔案保存為svg、dwg等矢量通用格式。 解決方法: 按住

    2024年02月16日
    瀏覽(163)
  • vue 項目中實現(xiàn)pdf預(yù)覽 pdf打印 pdf下載

    在Vue項目中實現(xiàn)PDF預(yù)覽、打印和下載可以通過以下步驟來實現(xiàn): 安裝pdf.js pdf.js是一個JavaScript庫,可以用于在Web上渲染PDF文件。 可以使用npm安裝pdf.js,命令如下: npm install pdfjs-dist --save 創(chuàng)建一個PDF組件 在Vue項目中,可以創(chuàng)建一個PDF組件,用于顯示PDF文件。 可以使用pdf.js提供

    2024年02月13日
    瀏覽(25)
  • 【PDFBox】PDFBox操作PDF文檔之讀取指定頁面文本內(nèi)容、讀取所有頁面文本內(nèi)容、根據(jù)模板文件生成PDF文檔

    【PDFBox】PDFBox操作PDF文檔之讀取指定頁面文本內(nèi)容、讀取所有頁面文本內(nèi)容、根據(jù)模板文件生成PDF文檔

    這篇文章,主要介紹PDFBox操作PDF文檔之讀取指定頁面文本內(nèi)容、讀取所有頁面文本內(nèi)容、根據(jù)模板文件生成PDF文檔。 目錄 一、PDFBox操作文本 1.1、讀取所有頁面文本內(nèi)容 1.2、讀取指定頁面文本內(nèi)容 1.3、寫入文本內(nèi)容 1.4、替換文本內(nèi)容 (1)自定義PDTextStripper類 (2)創(chuàng)建Key

    2024年02月16日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包