前端打印(html)

目录

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>
相关推荐
是上好佳佳佳呀1 分钟前
【前端(二)】CSS 知识梳理:从编写位置到选择器优先级
前端·css
倾颜26 分钟前
我是怎么把单 Tool Calling 升级成多 Tool Runtime 的
前端·后端·langchain
清汤饺子33 分钟前
Superpowers:给 AI 编程 Agent 装上"工程化超能力"
前端·javascript·后端
踩着两条虫34 分钟前
AI驱动的Vue3应用开发平台 深入探究(十三):物料系统之区块与页面模板
前端·vue.js·人工智能·架构·系统架构
weixin199701080161 小时前
《得物商品详情页前端性能优化实战》
前端·性能优化
帮我吧智能服务平台1 小时前
装备制造企业售后服务数字化:从成本中心到利润中心背景
java·前端·制造
qq_368019661 小时前
用 react 的react-syntax-highlighter 实现语法高亮、行号与多行错误行高亮
前端·react.js·前端框架
lbh1 小时前
从LLM到Agent的核心概念
前端·openai·ai编程
-Da-1 小时前
【操作系统学习日记】并发编程中的竞态条件与同步机制:互斥锁与信号量
java·服务器·javascript·数据库·系统架构
Irene19911 小时前
JavaScript脚本加载的两种方式:defer/async 的区别
前端·javascript·php