现在的问题:前端页面需要指定区域打印,我不知道用什么方法去做,
看了网上说的用window.print去做,但是怎么去控制区域呢
利用canvas能够截取然后去打印么,关键这是react的项目,
希望大家提点意见
项目碰到一个react的难点,有朋友做过前端打印么?
RianMan
#1
asfor
#2
/**
* 打印指定 HTML
*/
export function print(id) {
const printHTML = document.getElementById(id).innerHTML
const printContext = document.createElement('iframe')
printContext.style.fontSize = '12pt'
printContext.style.width = '0'
printContext.style.height = '0'
document.body.appendChild(printContext)
printContext.contentDocument.head.innerHTML = document.head.innerHTML
printContext.contentDocument.body.innerHTML = printHTML
setTimeout(() => {
printContext.contentWindow.print()
document.body.removeChild(printContext)
}, 400)
}
如果直接使用的话得注意一下样式,要么都在head
里面,要么都用style属性