JS打印組合功能
本文為大家分享了JS打印組合功能,功能全面,供大家參考,具體內(nèi)容如下
1.局部打印--即想打印什么地方就打印什么地方
解決辦法:
將不想打印的地方隱藏起來(lái)
<style type="text/css" media=print>
.noprint{display : none }
分頁(yè)的時(shí)候用
.PageNext{page-break-after: always;}
然后給不想打印的頁(yè)面元素添加: class="Noprint" ,那就不會(huì)出現(xiàn)在打印和打印預(yù)覽中了。
想分頁(yè)的地方添加: <div class="PageNext"></div> 就可以了。
</style>
在將不想打印的地方控制起來(lái)
<p class="noprint">不需要打印的地方</p>
2.引用組建
WebBrowser是IE內(nèi)置的瀏覽器控件,無(wú)需用戶(hù)下載.
WebBrowser控件
<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
關(guān)于這個(gè)組件的用法,列舉如下:
WebBrowser.ExecWB(1,1) 打開(kāi)
Web.ExecWB(2,1) 關(guān)閉現(xiàn)在所有的IE窗口,并打開(kāi)一個(gè)新窗口
Web.ExecWB(4,1) 保存網(wǎng)頁(yè)
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印預(yù)覽
Web.ExecWB(8,1) 打印頁(yè)面設(shè)置
Web.ExecWB(10,1) 查看頁(yè)面屬性
Web.ExecWB(15,1) 好像是撤銷(xiāo),有待確認(rèn)
Web.ExecWB(17,1) 全選
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 關(guān)閉窗體無(wú)提示
3.實(shí)例
<head> <script language="javascript"> <style type="text/css" media=print> .noprint{display : none } </style> function printsetup() { // 打印頁(yè)面設(shè)置 wb.execwb(8,1); } function printpreview(){ // 打印頁(yè)面預(yù)覽 wb.execwb(7,1); } function printit() { if(confirm('確定打印嗎?')) { wb.execwb(6,6) } } </script> </head> <body> <p class="noprint"> <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" id="wb" name="wb" width="0"></OBJECT> <input type="button" name="button_print" value="打印" onclick="javascript:printit()" /> <input type="button" name="button_setup" value="打印頁(yè)面設(shè)置" onclick="javascript:printsetup();" /> <input type="button" name="button_show" value="打印預(yù)覽" onclick="javascript:printpreview();" /> </p> </body>
3.JS 實(shí)現(xiàn)簡(jiǎn)單的頁(yè)面局部打印
function preview(oper) { if (oper < 10){ bdhtml=window.document.body.innerHTML;//獲取當(dāng)前頁(yè)的html代碼 sprnstr="<!--startprint"+oper+"-->";//設(shè)置打印開(kāi)始區(qū)域 eprnstr="<!--endprint"+oper+"-->";//設(shè)置打印結(jié)束區(qū)域 prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //從開(kāi)始代碼向后取htm prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//從結(jié)束代碼向前取html window.document.body.innerHTML=prnhtml; window.print(); window.document.body.innerHTML=bdhtml; } else { window.print(); } }
使用很簡(jiǎn)單 將頁(yè)面內(nèi)要打印的內(nèi)容加入中間<!--startprint1-->XXXXX<!--endprint1-->
再加個(gè)打印按紐 onclick=preview(1)
4、控制"縱打"、 橫打”和“頁(yè)面的邊距。
(1)<script defer>
function SetPrintSettings() { // -- advanced features factory.printing.SetMarginMeasure(2) // measure margins in inches factory.SetPageRange(false, 1, 3) // need pages from 1 to 3 factory.printing.printer = "HP DeskJet 870C" factory.printing.copies = 2 factory.printing.collate = true factory.printing.paperSize = "A4" factory.printing.paperSource = "Manual feed" // -- basic features factory.printing.header = "This is MeadCo" factory.printing.footer = "Advanced Printing by ScriptX" factory.printing.portrait = false factory.printing.leftMargin = 1.0 factory.printing.topMargin = 1.0 factory.printing.rightMargin = 1.0 factory.printing.bottomMargin = 1.0 } </script> function preview(oper) { if (oper < 10){ bdhtml=window.document.body.innerHTML;//獲取當(dāng)前頁(yè)的html代碼 sprnstr="<!--startprint"+oper+"-->";//設(shè)置打印開(kāi)始區(qū)域 eprnstr="<!--endprint"+oper+"-->";//設(shè)置打印結(jié)束區(qū)域 prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //從開(kāi)始代碼向后取htm prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//從結(jié)束代碼向前取html window.document.body.innerHTML=prnhtml; window.print(); window.document.body.innerHTML=bdhtml; } else { window.print(); } }
使用很簡(jiǎn)單 將頁(yè)面內(nèi)要打印的內(nèi)容加入中間<!--startprint1-->XXXXX<!--endprint1-->
再加個(gè)打印按紐 onclick=preview(1)
更多關(guān)于js打印功能的內(nèi)容,點(diǎn)擊《js打印功能匯總》專(zhuān)題學(xué)習(xí)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS實(shí)現(xiàn)頁(yè)面打印(整體、局部)
- JS實(shí)現(xiàn)頁(yè)面打印功能
- JS實(shí)現(xiàn)瀏覽器打印、打印預(yù)覽示例
- 利用Js的console對(duì)象,在控制臺(tái)打印調(diào)式信息測(cè)試Js的實(shí)現(xiàn)
- js print打印網(wǎng)頁(yè)指定區(qū)域內(nèi)容的簡(jiǎn)單實(shí)例
- 一種基于瀏覽器的自動(dòng)小票機(jī)打印實(shí)現(xiàn)方案(js版)
- Javascript打印局部頁(yè)面實(shí)例
- ActiveX控件的使用-js實(shí)現(xiàn)打印超市小票功能代碼詳解
相關(guān)文章
使用layer彈窗和layui表單實(shí)現(xiàn)新增功能
最近做項(xiàng)目遇到這樣的需求使用layer在彈窗內(nèi)完成新增,成功后提示并刷新頁(yè)面,下面小編給大家?guī)?lái)了使用layer彈窗和layui表單做新增功能,具體實(shí)現(xiàn)代碼,參考下本文2018-08-08原生JS實(shí)現(xiàn)簡(jiǎn)單的無(wú)縫自動(dòng)輪播效果
輪播效果是老生常談的話(huà)題,今天小編通過(guò)實(shí)例代碼給大家分享原生JS實(shí)現(xiàn)簡(jiǎn)單的無(wú)縫自動(dòng)輪播效果,感興趣的朋友跟隨小編一起學(xué)習(xí)吧2018-09-09深入了解Javascript的事件循環(huán)機(jī)制
單線程的同步等待極大影響效率,任務(wù)不得不一個(gè)一個(gè)等待執(zhí)行,對(duì)于網(wǎng)頁(yè)應(yīng)用是無(wú)法接受的。所以Javascript使用事件循環(huán)機(jī)制來(lái)解決異步任務(wù)的問(wèn)題。本文就來(lái)講講Javascript的事件循環(huán)機(jī)制,希望對(duì)你有所幫助2022-09-09使弱類(lèi)型的語(yǔ)言JavaScript變強(qiáng)勢(shì)
Javascript (ECMA Script)是一種弱類(lèi)型的語(yǔ)言.這并不意味著它沒(méi)有數(shù)據(jù)類(lèi)型,只是變量或者Javascript對(duì)象屬性不需要一個(gè)特定類(lèi)型的值分配給它或者它始終使用相同的值.Javascript中的變量同樣支持自由類(lèi)型轉(zhuǎn)換成為適用(或者要求)的內(nèi)容以便于使用.2009-06-06利用純js + transition動(dòng)畫(huà)實(shí)現(xiàn)移動(dòng)端web輪播圖詳解
這篇文章主要給大家介紹了利用純js + transition動(dòng)畫(huà)實(shí)現(xiàn)移動(dòng)端web輪播圖的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-09-09js 實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)菜單效果
本文主要分享了js實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)菜單效果的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02