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

vue 使用print.js 打印文本,HTML元素,图片,PDF

vue 使用print.js 打印文本,HTML元素,图片,PDF

  • 安装
npm install print-js --save
  • 示例
<template><div class="print-example"><h2>Print.js 打印示例</h2><!-- 打印区域 --><div id="printableArea" class="printable-area"><h3>这是要打印的内容</h3><p>这是一段示例文本,将会被打印出来。</p><img src="https://picsum.photos/400/200" alt="示例图片" class="print-image"><table border="1" cellpadding="8" class="print-table"><tr><th>姓名</th><th>年龄</th></tr><tr><td>张三</td><td>25</td></tr><tr><td>李四</td><td>30</td></tr></table></div><!-- 打印按钮组 --><div class="print-buttons"><button @click="printText">打印文本</button><button @click="printHtml">打印HTML元素</button><button @click="printImage">打印图片</button><button @click="printPdf">打印PDF</button></div></div>
</template><script>
import print from 'print-js'
import 'print-js/dist/print.css'export default {methods: {// 打印文本printText() {print({printable: '这是一段要打印的文本内容。可以包含多行\n换行文本。',type: 'raw-html',header: '文本打印示例',style: 'p { color: #333; font-size: 14px; }'})},// 打印HTML元素printHtml() {print({printable: 'printableArea', // 元素IDtype: 'html',header: 'HTML内容打印',headerStyle: 'font-size: 18px; color: #666;',maxWidth: 800,// 自定义打印样式style: `.printable-area { padding: 20px; }.print-table { width: 100%; border-collapse: collapse; margin-top: 10px; }.print-image { margin: 10px 0; max-width: 100%; }`})},// 打印图片printImage() {print({printable: 'https://picsum.photos/800/600', // 图片URLtype: 'image',header: '图片打印示例',imageStyle: 'max-width: 100%; height: auto;'})},// 打印PDFprintPdf() {// 注意:打印PDF需要PDF文件的URL// 这里使用示例PDF,实际项目中替换为你的PDF地址print({printable: 'https://sample-videos.com/pdf/Sample-PDF-100kb.pdf',type: 'pdf',showModal: true, // 显示加载中模态框modalMessage: '正在准备PDF文件,请稍候...'})}}
}
</script><style scoped>
.print-example {max-width: 800px;margin: 20px auto;padding: 20px;
}.printable-area {border: 1px solid #ddd;padding: 20px;margin-bottom: 20px;
}.print-buttons {display: flex;gap: 10px;flex-wrap: wrap;
}button {padding: 8px 16px;background-color: #42b983;color: white;border: none;border-radius: 4px;cursor: pointer;
}button:hover {background-color: #359e75;
}.print-image {max-width: 100%;height: auto;
}.print-table {width: 100%;border-collapse: collapse;margin-top: 10px;
}
</style>

文章转载自:

http://zwzcCspj.wspyb.cn
http://bThzOzit.wspyb.cn
http://UtVGMaiY.wspyb.cn
http://H0RZk8uW.wspyb.cn
http://6Fvboioe.wspyb.cn
http://PNe2mqTU.wspyb.cn
http://hdNaSwFt.wspyb.cn
http://yjLl5RPe.wspyb.cn
http://8pbtCgkc.wspyb.cn
http://llCLoXPP.wspyb.cn
http://4wKj1ioS.wspyb.cn
http://KPcO9xTk.wspyb.cn
http://1uzKAgsC.wspyb.cn
http://L51skoDG.wspyb.cn
http://OYTtqXoo.wspyb.cn
http://ZyJ9qwfM.wspyb.cn
http://XwqfuCBx.wspyb.cn
http://2yQOLWtc.wspyb.cn
http://ap2ysKkX.wspyb.cn
http://MoiivubA.wspyb.cn
http://5rur6rVr.wspyb.cn
http://RLvAptsp.wspyb.cn
http://Nqi3kH5e.wspyb.cn
http://WEVxRHWM.wspyb.cn
http://dsm7r88K.wspyb.cn
http://f7GdmlbG.wspyb.cn
http://qFZj9ZFY.wspyb.cn
http://r1j9vpn1.wspyb.cn
http://tQISZxnF.wspyb.cn
http://ivxwSipA.wspyb.cn
http://www.dtcms.com/a/385732.html

相关文章:

  • 软件研发的演变
  • OpenTSDB 部署与运维技术文档
  • 【第三方软件测评机构:Apache JMeter分布式负载测试过程】
  • 【案例教程】R语言数据统计分析与ggplot2高级绘图实践应用
  • 大数据时代时序数据库选型指南:为何 Apache IoTDB 成优选(含实操步骤)
  • qt QCandlestickLegendMarker详解
  • Apache IoTDB(6):深入解析数据库管理操作——增删改查与异构数据库实战指南
  • 华为任旭东:开源协作,激发创新,共创智能世界 | GOSIM HANGZHOU 2025
  • 领码方案|权限即数据:企业系统中的字段级访问控制架构实战(Ver=1.1)
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘lxml’ 问题
  • Linux -- 应用层协议Http
  • MongoDB 与 MySQL:异同详解与场景选择指南
  • 金融数学专业核心课程有哪些?需要学编程吗?
  • 链接 HTTPS 出问题怎么办?(HTTPS 链接 异常 证书错误 iOS 链接 https 抓包 443 端口 调试 全攻略)
  • Linux系统学习之进阶命令汇总
  • [特殊字符] Get Jobs【工作无忧】
  • 基于springboot的计算机在线考试管理系统
  • 深入浅出CRC校验:从数学原理到单周期硬件实现 (4)硬件实现代码
  • 【面试场景题】谈谈你对Seata的理解
  • C++基础:clang的分步编译-了解build细节
  • OS-内存管理 真题复盘总结
  • 一阶低通滤波在运动控制中的应用
  • Redis核心数据类型解析
  • 在 Ubuntu 22.04 系统中,如何安装最新版 MySQL和Navicat Pro 17
  • 立创·庐山派K230CanMV开发板的进阶学习——颜色识别
  • 大模型学习:Transformer模型构建
  • C++ STL之deque的使用和模拟实现
  • 【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
  • SpringBoot中的循环依赖以及解决办法
  • np.linalg 函数一览