JS呼叫印表機
第一種方法:指定不列印區域
使用CSS,定義一個.noprint的class,將不列印的內容放入這個class內。
詳細如下:
<style media=print type="text/css">
.noprint{visibility:hidden}
</style>
要列印的內容。哈哈!
<p class="noprint">將不列印的程式碼放在這裡。</p>
<a href="javascrīpt:window.print()" target="_self">列印</a>
第二種方法:指定列印區域
把要列印的內容放入一個 span或div,然後通過一個函式列印。
<span id='div1'>把要列印的內容放這裡</span>
<p>所有內容</p>
<div id="div2">div2的內容</div>
<a href="javascrīpt:printme()" target="_self">列印</a>
<scrīpt language="javascrīpt">
function printme()
{
document.body.innerHTML=document.getElementById('div1').innerHTML+'<br/>'+document.getElementById('div2').innerHTML;
window.print();
}
</scrīpt>
如果要列印的只是整個頁面中的一小部分,就最好採用第二種方法。
第三種方法:如果要列印的頁面排版和原web頁面相差很大,採用此種方法。
點列印按鈕彈出新視窗,把需要列印的內容顯示到新視窗中,在新視窗中呼叫window.print()方法,然後自動關閉新視窗。
1、控制"縱打"、 橫打”和“頁面的邊距。
(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>
(2)
<script language="javascript">
function printsetup(){
// 列印頁面設定
wb.execwb(8,1);
}
function printpreview(){
// 列印頁面預覽
wb.execwb(7,1);
}
function printit()
{
if (confirm('確定列印嗎?')) {
wb.execwb(6,6)
}
}
</script>
</head>
<body>
<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="列印頁面設定" onclick="javascript:printsetup();">
<input type=button name=button_show value="列印預覽" onclick="javascript:printpreview();">
<input type=button name=button_fh value="關閉" onclick="javascript:window.close();">
------------------------------------------------
關於這個元件還有其他的用法,列舉如下:
WebBrowser.ExecWB(1,1) 開啟
Web.ExecWB(2,1) 關閉現在所有的IE視窗,並開啟一個新視窗
Web.ExecWB(4,1) 儲存網頁
Web.ExecWB(6,1) 列印
Web.ExecWB(7,1) 列印預覽
Web.ExecWB(8,1) 列印頁面設定
Web.ExecWB(10,1) 檢視頁面屬性
Web.ExecWB(15,1) 好像是撤銷,有待確認
Web.ExecWB(17,1) 全選
Web.ExecWB(22,1) 重新整理
Web.ExecWB(45,1) 關閉窗體無提示
2、分頁列印
<HTML>
<HEAD>
<STYLE>
P {page-break-after: always}
</STYLE>
</HEAD>
<BODY>
<%while not rs.eof%>
<P><%=rs(0)%></P>
<%rs.movenext%>
<%wend%>
</BODY>
</HTML>
3、ASP頁面列印時如何去掉頁面底部的路徑和頂端的頁碼編號
(1)ie的檔案-〉頁面設定-〉講裡面的頁首和頁尾裡面的東西都去掉,列印就不出來了。
(2)<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="YC">
<script language="VBScript">
dim hkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"
hkey_path="\Software\Microsoft\Internet Explorer\PageSetup"
'//設定網頁列印的頁首頁尾為空
function pagesetup_null()
on error resume next
Set RegWsh = CreateObject("WScript.Shell")
hkey_key="\header"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""
hkey_key="\footer"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""
end function
'//設定網頁列印的頁首頁尾為預設值
function pagesetup_default()
on error resume next
Set RegWsh = CreateObject("WScript.Shell")
hkey_key="\header"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&w&b頁碼,&p/&P"
hkey_key="\footer"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&u&b&d"
end function
</script>
</HEAD>
<BODY>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/><p align=center>
<input type="button" value="清空頁碼" onclick=pagesetup_null()> <input type="button" value="恢復頁嗎"
onclick=pagesetup_default()><br/>
</p>
</BODY>
</HTML>
4、浮動幀列印
<SCRIPT LANGUAGE=javascript>
function button1_onclick() {
var odoc=window.iframe1.document;
var r=odoc.body.createTextRange();
var stxt=r.htmlText;
alert(stxt)
var pwin=window.open("","print");
pwin.document.write(stxt);
pwin.print();
}
</SCRIPT>
5、用FileSystem元件實現WEB應用中的本地特定列印
<script Language=VBScript>
function print_onclick //列印函式
dim label
label=document.printinfo.label.value //獲得HTML頁面的資料
set objfs=CreateObject("Scripting.FileSystemObject") //建立FileSystem元件物件的例項
set objprinter=objfs.CreateTextFile ("LPT1:",true) //建立與印表機的連線
objprinter.Writeline("__________________________________") //輸出列印的內容
objprinter.Writeline("| |")
objprinter.Writeline("| 您列印的資料是:"&label& " |”)
objprinter.Writeline("| |")
objprinter.Writeline("|_________________________________|")
objprinter.close //斷開與印表機的連線
set objprinter=nothing
set objfs=nothing // 關閉FileSystem元件物件
end function
</script>
伺服器端指令碼:
<%………
set conn=server.CreateObject ("adodb.connection")
conn.Open "DSN=name;UID=XXXX;PWD=XXXX;"
set rs=server.CreateObject("adodb.recordset")
rs.Open(“select ……”),conn,1,1
……….%> //與資料庫進行互動
HTML頁面編碼:
<HTML>
………
<FORM ID=printinfo NAME="printinfo" >
<INPUT type="button" value="列印>>" id=print name=print > //呼叫列印函式
<INPUT type=hidden id=text1 name=label value=<%=………%>> //儲存伺服器端傳來的資料
………
</HTML>
第四種方法:去除頁首頁尾
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PcyearSeo</title>
<head>
<!--關鍵程式碼部分-->
<script language="javascript" type="text/javascript">
function doPrint() {
bdhtml=window.document.body.innerHTML;
sprnstr="<!--startprint-->";
eprnstr="<!--endprint-->";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
}
var hkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"
hkey_path="\Software\Microsoft\Internet Explorer\PageSetup\ "
function pagesetup_null(){
try{
var RegWsh=new ActiveXObject("WScript.Shell")
hkey_key="header"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")
hkey_key="footer"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")
}catch(e){}
}
</script>
<!--關鍵程式碼部分-->
</HEAD>
<BODY>
<DIV align=center>
<p>
<!--關鍵程式碼部分-->
<OBJECT id="WebBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" width="0" VIEWASTEXT></OBJECT>
<!--關鍵程式碼部分-->
您列印內容開始:
</p>
<p>
<!--startprint-->
<div style="border:1px solid #999999; width:auto;"><img src="2010723115926746.jpg"/></div>
<!--endprint-->
</p>
<p>列印的內容結束</p>
<p class="noprint">
<!--class="noprint"的作用是標示不需要列印的地方,任何一個標籤的class屬性都可以設定,用於去除不需要列印的地方-->
<INPUT onclick=javascript:doPrint() type=button value=列印 name=button_print />
</p>
</DIV>
</body>
</html>
相關推薦
JavaWeb開發,使用js呼叫印表機列印頁面
首先,在html中,通過star和end來標記列印區域 1 2 3 4 5 6 7 8 <h1>這塊內容不需要列印</h1> <!--startprint--> <div class="content"> 這裡
JS呼叫印表機
第一種方法:指定不列印區域使用CSS,定義一個.noprint的class,將不列印的內容放入這個class內。詳細如下:<style media=print type="text/css"> .noprint{visibility:hidden} </st
js呼叫印表機列印指定內容
function printById(id) { html2canvas(document.getElementById(id), { allowTaint : true, taintTest : false,
JS 呼叫印表機列印網頁文件
有時前端的專案中需要新增列印的功能,首先要知道列印分為整體列印和區域性列印兩種,而區域性列印又可細分為區域性列印指定的部分,和區域性列印指定部分之外的部分。例項比文字看起來更清晰,下面我將用程式碼來描述1、整體列印這是最簡單的部分<button id="print1">列印全部</butto
js呼叫Web Service方式
<!doctype html> <html lang="en"> <head> <meta cha
js呼叫ajax根據後臺返回的總數前端設定每頁的條數實現分頁功能
有時候前端需要實現分頁功能,但是後臺只給我們返回來總數,每頁顯示多少條資料需要我們前端來設定,貌似這個有點欺負人,哈哈哈。。話不多說直接上程式碼: (這裡需要用到layui外掛,js檔案自己去官網下載哦) var pageNumber=1;//第幾頁 var sumCount=0; //總共
js呼叫百度地圖介面繪製任意多邊形並獲取每個點的經緯度等
來自:https://blog.csdn.net/u013239236/article/details/52213977 侵刪 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type"
js呼叫ajax案例
js呼叫ajax案例 測試地址:http://www.w3school.com.cn/tiy/t.asp?f=ajax_get 嵌入下面程式碼,點選提交,再點選請求資料。就可以看到結果了。 <html> <head> <script type="text/javascrip
js呼叫ajax案例2,使用ok
XMLHttpRequest 是 AJAX 的基礎。 XMLHttpRequest 物件所有現代瀏覽器均支援 XMLHttpRequest 物件(IE5 和 IE6 使用 ActiveXObject)。 XMLHttpRequest 用於在後臺與伺服器交換資料。這意味著可以在不重新載入整個網頁的情況下,對
js呼叫Webservice介面案例
第一步:新建Webservice介面 主檔案方法 using System;using System.Collections.Generic;using System.Web;using System.Web.Services; namespace TestWebApplication{ /// <
電腦用js呼叫QQ客服聊天 阿星小棧
第一種是連結的方式: 注:target=”_blank”在a標籤加上這個,如果對方不線上會提醒開啟qq,如果對方線上會提示新增好友頁面 如果a標籤不加target=”_blank”,彈框會閃退 window.location.href = "http://w
js呼叫攝像頭拍照,js呼叫攝像頭線上拍照,js呼叫電腦攝像頭拍照
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>人臉採集</title> <script src="jque
PC網頁js呼叫本地應用程式
最近要現實一個在PC網頁中實現點選按鈕呼叫本地應用程式的功能 其實實現原理也非常簡單, 首先註冊一個本地登錄檔檔案,指向本地應用程式路徑 其次在網頁中用js指向這個登錄檔檔案,就可以實現網頁呼叫本地應用程式 Windows Registry Editor Version 5.00
ReactiveX 學習筆記(25)使用 RxJS + Vue.js 呼叫 REST API
JSON : Placeholder JSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一個用於測試的 REST API 網站。 以下使用 RxJS6 + Angular 6 呼叫該網站的 REST API,獲取字串以及 JSON 資料。
ReactiveX 學習筆記(26)使用 RxJS + React.js 呼叫 REST API
JSON : Placeholder JSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一個用於測試的 REST API 網站。 以下使用 RxJS6 + React.js 呼叫該網站的 REST API,獲取字串以及 JSON 資料。
Android Bug記錄--Error: Webview js呼叫報錯Error calling method on NPObject
其他專案組的專案需要一個簡單h5專案,需要幫忙弄個android殼,就一個頁面,只不過需要播放聲音,沒有其他任何js互動,以後也不會有什麼js拓展。於是就簡單寫了個webview,加了js回撥,並封裝了聲音播放類,在js回撥中使用。 public class Javascript {
js 呼叫攝像頭拍照
本文主要介紹,js+canvas+video ,呼叫本地攝像頭,實現拍照效果,程式碼如下,供大家參考學習 <!doctype html> <html lang="en"> <he
[iOS]通過JS呼叫iOS函式時的URL編碼問題
在前面的文章:[iOS]在WebApp中怎樣使用JS呼叫iOS的函式 中,提到了怎樣使用JS通過改動URL呼叫iOS的內部函式。 當中會遇到一個問題,就是編碼問題。比方通過URL呼叫彈窗,在裡面寫上內容:你好汪海。 那連結大概就是這種:http://xx
C#實現呼叫印表機(列印字串、列印繪圖、列印圖片),還差列印水晶報表
C#實現呼叫印表機(列印字串、列印繪圖、列印圖片),還差列印水晶報表 目的:呼叫印表機的使用 缺陷:列印的物件不全(還差列印水晶報表),不能實現在外掛繪圖板中畫什麼列印什麼 改進:同缺陷,希望朋友們能提供解決方案,和提供改進方案,請留言謝謝。 C# winfrom 介面(純功能測
列印功能(JS 呼叫瀏覽器)
1.呼叫瀏覽器,完成列印功能(IE,Google都支援【當前時間截點】) 列印當前頁面,可以運用css做排版處理,隱藏一些不需要出現的東西 /*列印 */ function printDiv(value) { &n