前端打印(html)

embedded/2024/12/20 12:50:02/
htmledit_views">

目录

1.window.print()

2.使用插件print.js

1.window.print()

<template>

  <div id="contenteBox">内容</div>

   <button @click="printContent">打印</button>

</template>

<script>

  export default{

    data(){

      return{} 

    },

  methods:{

       printContent(){

          let contentDom=document.getElementById('contenteBox')

          let html=`

               <head>

                  <style lang='scss'>

                        #contenteBox{font-size:18px;background-color:#333}

                  <style>

               </head>

               <body>${contentDom.innerHTML}</body>

            `

       window.print()

        }

     }

  }

</script>

let contentDom=document.getElementById('contenteBox') //获取id为contenteBox的dom元素

html  //设置打印主体以及css样式

window.print()  //打印

也可以let bodyContent = document.getElementById('contenteBox').innerHTML 通过 获取需要打印的元素

通过 document.body.innerHTML=bodyContent 把当前页面替换为打印内容HTML

window.print()打印  //记得最后还原页面

2.使用插件print.js

2.1 vue2

https://www.npmjs.com/package/print-js

npm install print-js --save
yarn add print-js
import printJS from 'print-js'
<template><div><button @click="printContent">打印</button><div id="contenBox"><div>内容</div></div></div>
</template><script>
import printJS from 'print-js';export default {methods: {printContent() {printJS({printable: 'contenBox',type: 'html',documentTitile:'打印',style: `#contenBox{color:#333,font-size:20px}`});}}
};
</script>

printable 文档来源

type 打印类型

documentTitle 打印显示的文档标题

style 自定义样式

2.2 vue3

<template><div><button @click="printContent">打印</button><div ref="contenBox"><div>内容</div></div></div>
</template><script>
import printJS from 'print-js';
let contenBox=ref()
function printContent() {printJS({printable: 'contenBox',type: 'html',documentTitile:'打印',style: `#contenBox{color:#333,font-size:20px}`});}
</script>


http://www.ppmy.cn/embedded/147275.html

相关文章

部署 Apache Samza 和 Apache Kafka

部署 Apache Samza 和 Apache Kafka 的流处理系统可以分为以下几个步骤,涵盖环境准备、部署细节和生产环境的优化。 1. 环境准备 硬件要求 Kafka Broker:至少 3 台服务器,建议每台服务器配备 4 核 CPU、16GB 内存和高速磁盘。Samza 部署节点:根据任务规模,至少准备 2 台…

车辆 CSMS 网络安全解析

车辆 CSMS 网络安全解析 摘要: 随着汽车智能化与网联化进程的加速,车辆网络安全面临着前所未有的挑战。车辆网络安全管理系统(CSMS)作为保障车辆网络安全的关键架构,涵盖了从车辆设计、开发、生产到运营、维护以及报废的全生命周期。本文深入解析车辆 CSMS 的网络安全,包…

使用TinyML方法的智能家居嵌入式智能关键词识别

论文标题&#xff1a;Embedded Intelligence for Smart Home Using TinyML Approaches to Keyword Spotting 中文标题&#xff1a;使用TinyML方法的智能家居嵌入式智能关键词识别 作者信息&#xff1a; Jyoti Mishra&#xff0c;Manipal University Jaipur, Jaipur 303007, …

【Linux】信号

【C语言】信号 信号1. 信号状态2. 信号处理方式3. 信号注册相关函数4. 信号集相关函数 信号 1. 信号状态 信号有三种状态&#xff1a;产生、未决和递达 信号产生方式&#xff1a; 按键产生&#xff0c;ctrlc 产生 中断信号SIGINT&#xff0c;ctrl \ 产生退出信号 SIGQUIT并…

JS使用random随机数实现简单的四则算数验证

1.效果图 2.代码实现 index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</ti…

梳理你的思路(从OOP到架构设计)_UML应用:业务内涵的分析抽象表达03

目录 1、举例(四)&#xff1a;五子棋 【五子棋】 的分析步骤 2、讨论&#xff1a; 模型与代码 1、举例(四)&#xff1a;五子棋 【五子棋】 的分析步骤 Step-1: 找到主角— 棋手&#xff0c;很容易发现核心的概念了&#xff0c;例如&#xff1a;五子棋游戏的主角是棋手(玩家…

HTTP 协议报文结构 | 返回状态码详解

注&#xff1a;本文为 “HTTP 历史 | 协议报文结构 | 返回状态码” 相关文章合辑。 未整理去重。 HTTP 历史 wangjunliang 最后更新: 2024/3/16 上午10:29 超文本传输协议(英语:HyperTextTransferProtocol,缩写:HTTP)是 万维网(World Wide Web)的基础协议&#xff61;自 蒂姆…

Hadoop是什么?Hadoop介绍

官方网站&#xff1a;https://hadoop.apache.org/ 中文网站&#xff1a;Hadoop 中文网 Hadoop是一个由Apache基金会开发的开源分布式系统基础架构&#xff0c;主要用于解决海量数据的存储和分析计算问题。Hadoop通过其分布式架构和强大的处理能力&#xff0c;已经成为大数据处…