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ú)需用戶下載.
WebBrowser控件
<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
關(guān)于這個(gè)組件的用法,列舉如下:
WebBrowser.ExecWB(1,1) 打開
Web.ExecWB(2,1) 關(guān)閉現(xiàn)在所有的IE窗口,并打開一個(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) 好像是撤銷,有待確認(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è)置打印開始區(qū)域
eprnstr="<!--endprint"+oper+"-->";//設(shè)置打印結(jié)束區(qū)域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //從開始代碼向后取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è)置打印開始區(qū)域
eprnstr="<!--endprint"+oper+"-->";//設(shè)置打印結(jié)束區(qū)域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //從開始代碼向后取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打印功能匯總》專題學(xué)習(xí)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS實(shí)現(xiàn)頁(yè)面打?。ㄕw、局部)
- 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)文章
JavaScript利用Immerjs實(shí)現(xiàn)不可變數(shù)據(jù)
Immerjs?是一個(gè)用于管理?JavaScript?不可變數(shù)據(jù)結(jié)構(gòu)的庫(kù),它可以幫助我們更輕松地處理狀態(tài)的變化,并減少冗余代碼。本文就來(lái)帶大家揭秘如何利用Immerjs實(shí)現(xiàn)不可變數(shù)據(jù),感興趣的可以了解一下2023-04-04
JS實(shí)現(xiàn)的漢字與Unicode碼相互轉(zhuǎn)化功能分析
這篇文章主要介紹了JS實(shí)現(xiàn)的漢字與Unicode碼相互轉(zhuǎn)化功能,結(jié)合實(shí)例形式分析了javascript實(shí)現(xiàn)漢字與Unicode碼轉(zhuǎn)換相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-05-05
微信小程序?qū)崿F(xiàn)購(gòu)物車選擇規(guī)格顏色效果
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)購(gòu)物車選擇規(guī)格顏色選中效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
關(guān)于layui時(shí)間回顯問(wèn)題的解決方法
今天小編就為大家分享一篇關(guān)于layui時(shí)間回顯問(wèn)題的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
微信小程序利用云函數(shù)獲取手機(jī)號(hào)碼
這篇文章主要介紹了微信小程序利用云函數(shù)獲取手機(jī)號(hào)碼功能,本文通過(guò)實(shí)例代碼給大家講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
Highcharts使用簡(jiǎn)例及異步動(dòng)態(tài)讀取數(shù)據(jù)
Highcharts 是一個(gè)用純JavaScript編寫的一個(gè)圖表庫(kù), 能夠很簡(jiǎn)單便捷的在web網(wǎng)站或是web應(yīng)用程序添加有交互性的圖表,并且免費(fèi)提供給個(gè)人學(xué)習(xí)、個(gè)人網(wǎng)站和非商業(yè)用途使用,通過(guò)本文給大家介紹Highcharts使用簡(jiǎn)例及異步動(dòng)態(tài)讀取數(shù)據(jù)的相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2015-12-12
js固定DIV高度,超出部分自動(dòng)添加滾動(dòng)條的簡(jiǎn)單方法
這篇文章介紹了js固定DIV高度,超出部分自動(dòng)添加滾動(dòng)條的簡(jiǎn)單方法,有需要的朋友可以參考一下2013-07-07
詳解JavaScript如何利用異步解密回調(diào)地獄
為了更好地處理這些異步操作,JavaScript?引入了異步編程的概念,這篇文章主要來(lái)和大家詳細(xì)聊聊JavaScript中異步的相關(guān)應(yīng)用,希望對(duì)大家有所幫助2024-02-02

