html导出pdf

news/2025/11/21 22:55:18/文章来源:https://www.cnblogs.com/it774274680/p/19254743

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.mzph.cn/news/972604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【第7章 I/O编程与异常】为什么句柄看起来像指针却不是指针?

这是一个极佳的问题,触及了操作系统设计中抽象、兼容性与安全的核心权衡。 “句柄看起来像指针却不是指针”这一现象,本质上是 Windows API 在类型系统上的“善意伪装”,背后有深刻的历史和工程原因。🔍 一、为什…

SQL 基础语法

SQL 基础语法 在我们用 docker run --name ctf-mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:5.7 命令创建了 ctf-mysql 容器后,使用 start ctf-mysql 打开容器,用 docker exec -it ctf-mysql mysql -u…

实用指南:暖手宝方案开发,暖手宝MCU控制方案开发设计

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

博客发文公示

文章会优先在我的个人博客https://penetr4t10n.top更新,偶尔或者不一定同步到博客园,如果想第一时间获取文章,请浏览我的个人博客,谢谢

2025年【口碑好的/比较好的/靠谱的】水密门【公司/工厂/厂家】推荐/排行榜 哪家好/强/靠谱

2025年【口碑好的/比较好的/靠谱的】水密门【公司/工厂/厂家】推荐/排行榜 哪家好/强/靠谱 比较好的/靠谱的/可靠的铝合金水密门/不锈钢水密门/船用铰链液压水密门/船用钢质水密门/船用耐压水密门/船用液压水密门/船用…

NVM 与 单节点下PM2进程守护 安装配置以及使用教程完整指南(含 Node.js 环境搭建)

NVM 与 单节点下PM2进程守护 安装配置以及使用教程完整指南(含 Node.js 环境搭建)该文档聚焦 NVM 与 PM2 的实用配置,旨在帮助用户高效管理 Node.js 环境与应用进程。内容上,先解决 NVM 安装的网络问题与环境变量配…

北大六院的诊断

医生:西**诊断:偏执性反应情绪冲动调药:氨磺必利片 0-1    丙戊酸镁 1-2

Pycharm远程连接服务器项目 - 实践

Pycharm远程连接服务器项目 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…

django项目前端模版文件,在pycahrm无法使用ctrl+alt+l格式化代码的解决办法

闲话少说, <!DOCTYPE html> <html> <head><title>修复后的重置代码</title> </head> <body><h1>PyCharm 格式化问题修复示例</h1><h2>问题代码(导致格…

北大六院后看又相

我的双相:情绪高:应对低落的情绪

TPAMI 2025 | 从分离到融合:新一代3D场景技术建立双重能力提升!

TPAMI 2025 | 从分离到融合:新一代3D场景技术建立双重能力提升!2025-11-21 22:28 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !im…

详细介绍:后端开发常用Linux命令

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

QT:Qt5.14向文档输出表格--编译异常信息

QT向文档输出表格:输出近5年的高考信息统计表 22:29:34: Starting D:\Demo\QT5.14\CH12\CH1402\build-WordWritetable-Desktop_Qt_5_14_2_MinGW_64_bit-Debug\debug\WordWritetable.exe ... QAxBase::dynamicCallHel…

《程序员修炼之道》阅读笔记5

《程序员修炼之道》第五章"弯曲,或折断"阅读笔记 解耦与得墨忒耳法则 解耦是构建灵活、可维护系统的核心原则。书中提出的得墨忒耳法则(Law of Demeter)为降低模块间耦合提供了明确指导:对象的方法应只调…

java面向对象知识补充

static静态变量补充知识:static静态变量:数据只需要一份,且需要被共享时(访问,修改)例如,记录全局某个数量。 实例变量:每个对象都要有一份,数据各不同。(普通定义)静态方法静态方法可以用来设计工具类。工…

团队作业 3 - 教学课件和班级管理系统 需求改进 系统设计 - WAR

一、需求 & 原型改进(20 分)课堂讨论问题及修改(5 分)问题 1 修改 1课件格式支持单一(仅支持 PPT/PDF) 增加视频(MP4)、音频(MP3)格式课件上传与在线预览支持成绩统计维度单一(仅平均分) 新增最高分、…

win11下载安装python,命令提示符输入python,打开Microsoft store界面,解决方案

win11下载安装python,命令提示符输入python,打开Microsoft store界面,解决方案1.找到python安装路径, C:\Users\33723\AppData\Local\Programs\Python\Python314 C:\Users\33723\AppData\Local\Programs\Python\Py…

卷积神经网络的引入3 —— MLP 与 CNN 在更大数据集上的性能对比实验

卷积神经网络的引入3 —— MLP 与 CNN 在更大数据集上的性能对比实验 在前两篇文章中,我们分别验证了:MLP 对平移等扰动非常敏感,而 CNN 具备更好的鲁棒性 在 Fashion-MNIST(低维灰度图)下,MLP 与 CNN 的表现差距…

全网都在找的Nano Banana Pro API 来了!便宜稳定0.15/张

Nano Banana Pro(Gemini 3 Pro Image)是Google基于Gemini 3 Pro开发的新一代图像生成与编辑模型,它不仅在图像质量上达到了新的高度,更在文字渲染、多图像融合和实时信息整合方面带来了突破性的进展。本文将带你全…

通过DataReader获取sql查询的字段元数据信息

原理 应用程序调用 GetSchemaTable()↓ ADO.NET 驱动程序生成元数据查询SQL↓ 发送到数据库服务器执行↓ 数据库返回结果集架构信息(不包含实际数据)↓ ADO.NET 解析架构信息并构建 DataTable↓ 返回包含完整列信息的…