最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue使用html2PDF實現將內容導出為PDF

 更新時間:2023年11月30日 10:54:24   作者:天行無忌  
將 HTML 轉換為 PDF 進行下載是一個比較常見的功能,這篇文章將通過html2PDF實現將頁面內容導出為PDF,感興趣的小伙伴可以跟隨小編一起學習一下

將 HTML 轉換為 PDF 進行下載是一個比較常見的功能。過去要實現這個功能通常是放在服務端來實現,將文件生成好把鏈接發(fā)送給前端,讓前端跳轉進行下載?,F在對于前端來說,使用庫并寫幾行代碼就可以簡單的實現了。

前端 PDF 生成全部與瀏覽器的 API 調用有關,JavaScript 及其相關庫使用這些 API 來完成任務?,F在有很多 JavaScript 庫使用,這里有個清單供參考:

  • jsPDF
  • html2pdf
  • pdfmake
  • PDFsKit
  • ReLaXed
  • nodeice
  • Electron
  • PDFObject
  • pdf2json

本文跟大家分享其中一個庫 html2pdf.js。在這里將結合使用它和 Vue3 從 HTML 生成 PDF 進行下載。

Html2PDF 是創(chuàng)建報告并將其導出為 PDF 文件的最古老的組件,它基于使用外部 toolkit 包將任何屏幕直接打印到 PDF 文件。

所有項目的開始都是從安裝依賴庫開始:

npm install --save html2pdf.js

VUE 項目通常是從一個 App.vue 文件開始:

<template>
  <div id="app" ref="document">
    <div id="element-to-convert">
      <center>
        <img width="400" src="./assets/constellation.png" />
      </center>
    </div>
  </div>
  <button @click="downloadToPDF">Download to PDF</button>
</template>

<style>
#app {
  margin-top: 60px;
}
</style>

實例效果如下:

要生成 PDF,只需在項目中添加幾行代碼:

const downloadToPDF = () => {
    const element = document.getElementById("element-order-detail");
    const opt = {
        margin: 1,
        filename: "myfile.pdf",
        image: { type: "jpeg", quality: 0.98 },
        html2canvas: { scale: 2 },
        jsPDF: {
            unit: "in",
            format: "letter",
            orientation: "portrait",
        },
    };
    html2pdf().set(opt).from(element).save();
};

downloadToPDF 函數中定義了一個配置項對象。

NameTypeDefaultDescription
marginnumber or array0PDF 邊距(以 jsPDF 為單位)。可以是單個數字,像CSS規(guī)則類似 [vMargin, hMargin], or [top, left, bottom, right].
filenamestring'file.pdf'導出的 PDF 的默認文件名
pagebreakobject{mode: ['css', 'legacy']}控制頁面上的分頁行為
imageobject{type: 'jpeg', quality: 0.95}用于生成 PDF 的圖像類型和質量
enableLinksbooleantrue如果啟用,PDF 超鏈接會自動添加到所有錨標記之上
html2canvasobject{ }html2canvas 配置選項
jsPDFobject{ }jsPDF 配置選項

以下是一個簡單的示例 App.vue 文件完整代碼:

<script>
import html2pdf from "html2pdf.js";
import { defineComponent } from "vue";
const AppHome = defineComponent({
    setup() {
        const downloadToPDF = () => {
            const element = document.getElementById("element-order-detail");
            const opt = {
                margin: 1,
                filename: "myfile.pdf",
                image: { type: "jpeg", quality: 0.98 },
                html2canvas: { scale: 2 },
                jsPDF: {
                    unit: "in",
                    format: "letter",
                    orientation: "portrait",
                },
            };
            html2pdf().set(opt).from(element).save();
        };
        return {
            downloadToPDF,
        };
    },
});
export default AppHome;
</script>
<template>
    <div id="app" ref="document">
        <div id="element-to-convert">
            <center>
                <img width="400" src="./assets/constellation.png" />
            </center>
        </div>
        <button @click="downloadToPDF">Download to PDF</button>
    </div>
</template>

<style>
#app {
    margin-top: 60px;
    text-align: center;
}
</style>

總結

html2pdf.js 可以快速、無縫地從 HTML 生成 PDF。它是構建生成 PDF 文檔的簡單應用程序的絕佳選擇。

到此這篇關于vue使用html2PDF實現將內容導出為PDF的文章就介紹到這了,更多相關vue html2PDF導出為PDF內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解vue中使用express+fetch獲取本地json文件

    詳解vue中使用express+fetch獲取本地json文件

    本篇文章主要介紹了詳解vue中使用express+fetch獲取本地json文件,非常具有實用價值,需要的朋友可以參考下
    2017-10-10
  • Vue中filter使用及根據id刪除數組元素方式

    Vue中filter使用及根據id刪除數組元素方式

    這篇文章主要介紹了Vue中filter使用及根據id刪除數組元素方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Element-ui?DatePicker日期選擇器基礎用法示例

    Element-ui?DatePicker日期選擇器基礎用法示例

    這篇文章主要為大家介紹了Element-ui?DatePicker日期選擇器基礎用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • vue如何實現點擊空白區(qū)域關閉彈窗

    vue如何實現點擊空白區(qū)域關閉彈窗

    這篇文章主要介紹了vue如何實現點擊空白區(qū)域關閉彈窗問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Vue2.x-使用防抖以及節(jié)流的示例

    Vue2.x-使用防抖以及節(jié)流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節(jié)流的示例,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下
    2021-03-03
  • vue Aes加解密實踐

    vue Aes加解密實踐

    文章主要講述了在Vue項目中安裝并使用crypto-js進行AES加解密的操作,提及了與RSA加密的不同,并提到因密鑰長度問題可能需要修改源碼,最后強調內容為個人經驗,僅供參考
    2026-05-05
  • vue3 provide和inject底層組件的值不是響應式的處理詳解

    vue3 provide和inject底層組件的值不是響應式的處理詳解

    這篇文章主要為大家介紹了vue3 provide和inject底層組件的值不是響應式的處理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • vue中利用iscroll.js解決pc端滾動問題

    vue中利用iscroll.js解決pc端滾動問題

    這篇文章主要介紹了vue中利用iscroll.js解決pc端滾動問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • babel7.x和webpack4.x配置vue項目的方法步驟

    babel7.x和webpack4.x配置vue項目的方法步驟

    這篇文章主要介紹了babel7.x和webpack4.x配置vue項目的方法步驟,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 使用vue.js編寫藍色拼圖小游戲

    使用vue.js編寫藍色拼圖小游戲

    之前在網上看到《藍色拼圖》這款小游戲,作者是用jquery寫的。下面通過本文給大家分享基于vue.js編寫藍色拼圖小游戲,一起看看實現代碼吧
    2017-03-03

最新評論

漾濞| 镇雄县| 舟山市| 梧州市| 麻栗坡县| 山东省| 定日县| 珠海市| 武宁县| 昌图县| 新密市| 台北市| 松滋市| 贡山| 长顺县| 建始县| 永福县| 沙湾县| 阿拉善盟| 万盛区| 汪清县| 浏阳市| 利川市| 内乡县| 吉隆县| 汉源县| 沅陵县| 霞浦县| 禹城市| 大埔县| 平果县| 兴文县| 仁怀市| 江油市| 新乐市| 元江| 宣武区| 抚松县| 桦川县| 阳东县| 增城市|