当前位置: 首页 > news >正文

html导出pdf

index.vue

<template><div class="app"><el-button type="primary" size="small" @click="exportPDF">导出pdf</el-button><h1>导出PDF进度:{{ progress }}</h1><vue-html2pdf:show-layout="controlValue.showLayout":float-layout="controlValue.floatLayout":enable-download="controlValue.enableDownload":preview-modal="controlValue.previewModal":filename="controlValue.filename":paginate-elements-by-height="controlValue.paginateElementsByHeight":pdf-quality="controlValue.pdfQuality":pdf-format="controlValue.pdfFormat":pdf-orientation="controlValue.pdfOrientation":pdf-content-width="controlValue.pdfContentWidth":manual-pagination="controlValue.manualPagination":html-to-pdf-options="htmlToPdfOptions"@progress="onProgress($event)"@hasDownloaded="hasDownloaded($event)"ref="html2Pdf"><pdf-content @domRendered="domRendered()" slot="pdf-content" /></vue-html2pdf></div>
</template><script>
import VueHtml2pdf from "vue-html2pdf";
import PdfContent from "./PdfContent.vue";
export default {components: {VueHtml2pdf,PdfContent,},data() {return {controlValue: {showLayout: true,floatLayout: true,enableDownload: true,previewModal: false,paginateElementsByHeight: 300,manualPagination: true,filename: "嘻嘻哈",pdfQuality: 2,pdfFormat: "a4",pdfOrientation: "portrait",pdfContentWidth: "800px",},progress: 0,};},computed: {htmlToPdfOptions() {return {margin: 0,filename: "嘻嘻哈.pdf",image: {type: "jpeg",quality: 0.98,},enableLinks: true,html2canvas: {scale: this.controlValue.pdfQuality,useCORS: true,},jsPDF: {unit: "in",format: this.controlValue.pdfFormat,orientation: this.controlValue.pdfOrientation,},};},},methods: {exportPDF() {this.$refs.html2Pdf.generatePdf();},domRendered() {console.log("Dom Has Rendered");this.contentRendered = true;},onProgress(progress) {this.progress = progress;},hasDownloaded(blob) {console.log("download-->", blob);},},
};
</script><style lang="less" scoped>
/deep/.vue-html2pdf .layout-container {top: 30px !important;
}
</style>

pdfcontent.vue

<template><div class="pdf-content"><h1>测试111</h1><img src="@/assets/imgs/1.png" alt="" /><h3 class="html2pdf__page-break">表格信息</h3><div class="table-box"><el-table :data="tableData" style="width: 100%"><el-table-column prop="date" label="日期" width="180"> </el-table-column><el-table-column prop="name" label="姓名" width="180"> </el-table-column><el-table-column prop="address" label="地址"> </el-table-column></el-table></div><div class="chart-box" ref="chart_box_ref"></div><p class="html2pdf__page-break">系休息嘻嘻</p><p>这里是很多的注释内容,当做一页</p></div>
</template><script>
import * as echarts from "echarts";
export default {data() {return {tableData: [{date: "2016-05-02",name: "王小虎",address: "上海市普陀区金沙江路 1518 弄",},{date: "2016-05-04",name: "王小虎",address: "上海市普陀区金沙江路 1517 弄",},{date: "2016-05-01",name: "王小虎",address: "上海市普陀区金沙江路 1519 弄",},{date: "2016-05-03",name: "王小虎",address: "上海市普陀区金沙江路 1516 弄",},],};},mounted() {const chart = echarts.init(this.$refs.chart_box_ref);const option = {tooltip: {trigger: "axis",axisPointer: {type: "shadow",},},legend: {},xAxis: [{type: "category",data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],},],yAxis: [{type: "value",},],series: [{name: "Direct",type: "bar",emphasis: {focus: "series",},data: [320, 332, 301, 334, 390, 330, 320],},{name: "Email",type: "bar",stack: "Ad",emphasis: {focus: "series",},data: [120, 132, 101, 134, 90, 230, 210],},{name: "Union Ads",type: "bar",stack: "Ad",emphasis: {focus: "series",},data: [220, 182, 191, 234, 290, 330, 310],},],};chart.setOption(option);},
};
</script><style lang="less" scoped>
.chart-box {height: 300px;
}
</style>
http://www.zskr.cn/news/56797.html

相关文章:

  • 实用指南:暖手宝方案开发,暖手宝MCU控制方案开发设计
  • 博客发文公示
  • 2025年【口碑好的/比较好的/靠谱的】水密门【公司/工厂/厂家】推荐/排行榜 哪家好/强/靠谱
  • Pycharm远程连接服务器项目 - 实践
  • TPAMI 2025 | 从分离到融合:新一代3D场景技术建立双重能力提升!
  • java面向对象知识补充
  • 卷积神经网络的引入3 —— MLP 与 CNN 在更大数据集上的性能对比实验
  • Docker命令入门
  • P7960 [NOIP2021] 报数__洛谷题解
  • 图床创建:github+Picgo+obsidian 带有同步删除的自动上传
  • 2055.11.21
  • 深入解析:windows显示驱动开发-CCD api的摘要及方案(一)
  • Gephi怎样优化MySQL数据的展示效果
  • 揭秘Java对象的内存占用量:从面试题到底层原理
  • nju实验六 移位寄存器及桶形移位器
  • 基于 Erlang 的英文数字验证码识别系统设计与实现
  • leetcode14. 最长公共前缀
  • 洛谷 B4409:[GESP202509 一级] 商店折扣 ← 模拟算法
  • nju实验三 加法器与ALU
  • 信息论(八):吉布斯不等式的证明
  • 题解:AT_agc028_e [AGC028E] High Elements
  • CSP-J2025总结
  • MineContext:我第一次感觉 AI 真正在“主动帮我管理生活”
  • NCHU OOP-BLOG1-电梯调度-23207329-姚子康 - 翊尘
  • 操作系统的基本概念
  • 开发智联笔记项目时所遇问题(8)
  • NCHU-23207335-面向对象程序设计-BLOG-1
  • 卡码网94: bellman_ford算法
  • 题解:AT_agc067_d [AGC067D] Unique Matching
  • 计算机视觉——从环境配置到跨线计数的完整实现基于 YOLOv12 与质心追踪器的实时人员监控优秀的系统