濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > html 打印相關(guān)操作與實(shí)現(xiàn)詳解

html 打印相關(guān)操作與實(shí)現(xiàn)詳解

熱門標(biāo)簽:周口導(dǎo)航地圖標(biāo)注 昌邑外呼系統(tǒng) 東莞人工外呼系統(tǒng)多少錢 默納克系統(tǒng)外呼顯示inns 400電話辦理尚景 400電話是在哪里申請(qǐng) 商丘電話自動(dòng)外呼系統(tǒng)怎么收費(fèi) 朝陽(yáng)自動(dòng)外呼系統(tǒng) 地圖標(biāo)注地點(diǎn)下載

原理為調(diào)用 window.print() 方法,但是該方法只能對(duì)當(dāng)前頁(yè)面全部打印,所以有了以下方案來(lái)解決局部打印

1: 利用 iframe 將需要打印的元素和樣式注入 再調(diào)用打印

// 示例代碼
function print () {
    let ifElement = document.getElementById('ifId')
    const addHtmlPrint = () => {
        const content = ifElement.contentWindow || ifElement.contentDocument
        content.document.body.innerHTML = this.detailTable
        const styleEle = document.createElement('style')
        /* 去掉打印時(shí)的頁(yè)頭和頁(yè)腳 */
        styleEle.innerHTML = '@media print {@page { margin: 5mm; }}'
        content.document.getElementsByTagName('head')[0].appendChild(styleEle)

        /* 保障 iframe 中資源加載完成,圖片要用 img 形式引入 */
        ifElement.onload = () => {
            content.print()
        }
    }
    this.getDetailTable()

    if (ifElement) {
        // 若已經(jīng)創(chuàng)建,則直接打印
        addHtmlPrint()
    } else {
        ifElement = document.createElement('iframe')
        ifElement.setAttribute('id', 'ifId')
        ifElement.setAttribute('style', 'display:none')
        document.body.appendChild(ifElement)

        addHtmlPrint()
    }
}

2: 利用 @media print,在當(dāng)前頁(yè)面設(shè)置打印操作時(shí)需要隱藏的元素

@media print{
    /* 這里將不需要打印的元素設(shè)置為不顯示 */
    .hidden-element{
        display:none;
        /* visibility:hidden; */
    }
    /*紙張?jiān)O(shè)置為寬1200px 高800px*/
    @page{
        size:1200px 800px;
    }
}
  • <link href="/example.css" media="print" rel="stylesheet" /> 標(biāo)注打印時(shí)才會(huì)采用的樣式
  • 監(jiān)聽(tīng)打印事件 window.addEventListener('beforeprint|| afterprint', ()=> {});

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:銅陵 阿拉善盟 健身房 福建 揭陽(yáng) 沈陽(yáng) 那曲 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html 打印相關(guān)操作與實(shí)現(xiàn)詳解》,本文關(guān)鍵詞  html,打印,相關(guān),操作,與,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《html 打印相關(guān)操作與實(shí)現(xiàn)詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于html 打印相關(guān)操作與實(shí)現(xiàn)詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    太仓市| 霍邱县| 禹州市| 南木林县| 双流县| 冀州市| 惠州市| 浏阳市| 莱芜市| 河池市| 赣榆县| 星座| 长泰县| 鄯善县| 贵溪市| 凉城县| 平潭县| 类乌齐县| 屯昌县| 龙州县| 仲巴县| 贵州省| 汕头市| 拜城县| 宽甸| 清丰县| 泉州市| 灌阳县| 六枝特区| 北海市| 宜丰县| 屏边| 延长县| 巴南区| 松滋市| 蓬溪县| 赫章县| 芷江| 隆尧县| 南江县| 宝丰县|