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

前端導(dǎo)出PDF(純前端功能)

這篇具有很好參考價值的文章主要介紹了前端導(dǎo)出PDF(純前端功能)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

項(xiàng)目場景:

例如:需要導(dǎo)出PDF格式


問題描述

發(fā)現(xiàn):自己導(dǎo)出的PDF,有表格超出之后,只會截取當(dāng)前屏幕可視區(qū),下面的并不會導(dǎo)出

原因分析:

提示:問題出現(xiàn)在滾動條加錯地方


解決方案:

首先:

npm install html2canvas

npm install jspdf

第二:新建一個htmlToPdf.js文件存放

// 導(dǎo)出頁面為PDF格式

import html2Canvas from './html2canvas'

import JsPDF from './jsPdf.debug'

export default{

? name:'wwutils',

? toolExportPdf(fileName) {

? ? let isCompeleted = false;

? ? setTimeout(() => {

? ? ? ? // 獲取需要打印的區(qū)域,以div為單位,此處使用的是vue的選擇器

? ? ? ? $("iframe").remove();

? ? ? ? var pdfDom = document.getElementById("exportImg");

? ? ? ? $("#exportImg").scrollTop(0);

? ? ? ? // 設(shè)置背景色

? ? ? ? pdfDom.style.background = "#F4F7FC";

? ? ? ? let _this = this;

? ? ? ? var exportName = fileName; // 導(dǎo)出生成文件的名稱

? ? ? ? var height = $("#exportImg").outerHeight();

? ? ? ? const Dom_height = $("#exportImg").height();

? ? ? ? const targetDom = document.querySelector("#exportImg");

? ? ? ? const copyDom = targetDom.cloneNode(true);

? ? ? ? copyDom.style.width = targetDom.scrollWidth + "px";

? ? ? ? copyDom.style.height = targetDom.scrollHeight + "px";

? ? ? ? document.body.appendChild(copyDom);

? ? ? ? html2Canvas(pdfDom, {

? ? ? ? ? ? allowTaint: false,

? ? ? ? ? ? useCORS: true,

? ? ? ? ? ? height: targetDom.scrollHeight,

? ? ? ? ? ? width: targetDom.scrollWidth,

? ? ? ? ? ? onrendered: 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 = 592.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 + 4,imgWidth,imgHeight);

? ? ? ? ? ? ? ? ? ? ? ? leftHeight -= pageHeight;

? ? ? ? ? ? ? ? ? ? ? ? position -= 841.89;

? ? ? ? ? ? ? ? ? ? ? ? if (leftHeight > 0) {

? ? ? ? ? ? ? ? ? ? ? ? ? ? PDF.addPage();

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? PDF.save(exportName + ".pdf");

? ? ? ? ? ? ? ? document.body.removeChild(copyDom);

? ? ? ? ? ? ? ? isCompeleted = true;

? ? ? ? ? ? ? ? // PubSub.publish("isExportPdfCompleted", {

? ? ? ? ? ? ? ? // ? ? state: true,

? ? ? ? ? ? ? ? // });

? ? ? ? ? ? },

? ? ? ? ? ? background: "#F4F7FC",

? ? ? ? ? ? windowHeight: targetDom.scrollHeight, // 獲取y方向滾動條中的內(nèi)容

? ? ? ? ? ? y: targetDom.scrollHeight // 頁面在垂直方向的滾動距離

? ? ? ? });

? ? }, 1000);

? ? return isCompeleted

?},

}

前端導(dǎo)出pdf,前端,vue.js,javascript

?可以使用在main.js中引用,也可以在本地文件直接引用

前端導(dǎo)出pdf,前端,vue.js,javascript

?前端導(dǎo)出pdf,前端,vue.js,javascript

?文章來源地址http://www.zghlxwxcb.cn/news/detail-598021.html

到了這里,關(guān)于前端導(dǎo)出PDF(純前端功能)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

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

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

    2024年02月03日
    瀏覽(28)
  • 前端(vue)js在線預(yù)覽PDF、Word、Excel、ppt等office文件

    可選參數(shù) pdf=true,word文檔嘗試以pdf方式顯示,默認(rèn)false watermark=水印文本,顯示文本水??;“img:”+圖片url表示圖片水印,如:img:https://view.xdocin.com/demo/wm.png saveable=true,是否允許保存源文件,默認(rèn)false printable=false,是否允許打印,默認(rèn)true ?able=false,是否允許選擇復(fù)制內(nèi)容,

    2024年02月13日
    瀏覽(94)
  • JS打印、導(dǎo)出PDF

    JS打印、導(dǎo)出PDF

    這種方式打印的pdf比較高清,且分頁不會截斷文字和圖片,背景圖片是會被截斷的 1.直接打印 直接調(diào)用瀏覽器的打印功能,打印整個頁面 2.打印指定區(qū)域 通過開始標(biāo)記、結(jié)束標(biāo)記來打印,打印局部頁面 注意 :1.如果你要打印的區(qū)域中包含vue賦值對象,那你的開始結(jié)束標(biāo)志符

    2024年02月15日
    瀏覽(21)
  • Java實(shí)現(xiàn)PDF導(dǎo)出功能

    Java實(shí)現(xiàn)PDF導(dǎo)出功能

    一、添加依賴 二、實(shí)現(xiàn)示例代碼 如下代碼中使用了 【SIMYOU.TTF】幼圓字體,根據(jù)需要可以自行下載 三、效果展示 對應(yīng)目錄下生成test.pdf 文件 生成效果如下所示:

    2024年02月15日
    瀏覽(22)
  • 純前端實(shí)現(xiàn)導(dǎo)出pdf文件(服務(wù)端不參與)

    純前端實(shí)現(xiàn)導(dǎo)出pdf文件(服務(wù)端不參與)

    大致查閱了現(xiàn)階段使用較多的幾種方案,,大概有以下幾種方式: 一、原生window.print()方法導(dǎo)出pdf 二、jspdf 三、jspdf +?html2canvas 四、pdfmake 方案 優(yōu)點(diǎn) 缺點(diǎn) window.print() 1、兼容性最好 2、可以將任意內(nèi)容導(dǎo)出成 pdf 文檔, 甚至是非改頁面上的內(nèi)容 1、調(diào)用方法時部分條件下導(dǎo)出pd

    2024年04月08日
    瀏覽(22)
  • react-前端excel 文件/PDF文件 導(dǎo)入 --導(dǎo)出,照片上傳

    react-前端excel 文件/PDF文件 導(dǎo)入 --導(dǎo)出,照片上傳

    需要了解,new FormData() --上傳時,將內(nèi)容轉(zhuǎn)為文件流 ? ? ? ? ? ? ? ? ? FormData提供一種表示表單數(shù)據(jù)的鍵值對的構(gòu)造方式,實(shí)現(xiàn)表單數(shù)據(jù)的序列化,從而減少表單元素的拼接,提高工作效率 ? ? ? ? ? ? ? ? ?new FileReader()--base64壓縮,目前不了解 一、excel文件導(dǎo)出 ? ? ?三

    2023年04月08日
    瀏覽(24)
  • Vue3導(dǎo)出pdf方案

    1.引入兩個依賴 2.在utils文件夾下新建htmlToPdf.js文件 擴(kuò)展 :還可以傳多個不同容器id 3.來到需要將vue轉(zhuǎn)成pdf的頁面 methods: 擴(kuò)展 :多個容器不同id 介紹一下純jspdf用法,將一個圖片列表導(dǎo)出為pdf文件,根據(jù)圖片寬高計算在pdf中的位置 jsPDF 是一個基于 HTML5 的客戶端解決方案,用于

    2024年02月16日
    瀏覽(16)
  • springboot項(xiàng)目實(shí)現(xiàn)導(dǎo)出pdf功能,這也太簡單了吧

    在現(xiàn)代Web應(yīng)用程序中,導(dǎo)出數(shù)據(jù)為PDF格式是一項(xiàng)常見需求。本文將詳細(xì)介紹如何使用Spring Boot框架和iText庫實(shí)現(xiàn)導(dǎo)出PDF功能。首先,我們會添加必要的依賴項(xiàng),并創(chuàng)建一個PDF生成類來設(shè)置內(nèi)容、樣式和格式。然后,我們會在控制器中調(diào)用該類,并使用HTTP響應(yīng)返回導(dǎo)出的PDF文件。最后,我們會提供代碼示例和常見的PDF處理操作,以幫助你靈活地擴(kuò)展和自定義導(dǎo)出的PDF文件。通過按照本文的步驟,你將能夠簡單地集成導(dǎo)出PDF功能到你的Spring Boot項(xiàng)目中。

    2024年02月07日
    瀏覽(52)
  • vue3 ts 導(dǎo)出PDF jsPDF

    jsPDF 是一個基于?HTML5?的客戶端解決方案,用于生成各種用途的 PDF 文檔。 1、安裝:npm install jspdf ? ? ? ? ? ? ? ? ?npm install --save html2canvas 2、引入:import jsPDF from \\\"jspdf\\\"? ????????????????import html2canvas from \\\'html2canvas\\\' 3、使用

    2024年02月05日
    瀏覽(20)
  • Vue中如何進(jìn)行文件打印與PDF導(dǎo)出

    Vue中如何進(jìn)行文件打印與PDF導(dǎo)出

    在Vue應(yīng)用中,有時候需要將頁面內(nèi)容打印出來或者導(dǎo)出為PDF格式,以滿足用戶的需求。本文將介紹如何在Vue應(yīng)用中實(shí)現(xiàn)文件打印和PDF導(dǎo)出的功能。 文件打印是指將頁面內(nèi)容輸出到打印機(jī)上,將其打印成紙質(zhì)文檔。在Vue中,可以通過瀏覽器提供的 window.print() 方法來實(shí)現(xiàn)文件打

    2024年02月09日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包