JSPページ印刷

9396 ワード

一、普通印刷(ページ全体で打つ)これは言うまでもなく、直接引用を使う.
window.print();</code>

二、印刷ページ内の一部の内容(カスタマイズ)は3つの方法で実現する1、cssで参照を制御する:
@media print
.a {display:block}
.b {display:hidden}

印刷したくない部分classをbに設定して、まずページに追加します:参照:
<OBJECT id="WebBrowser" height="0" width="0" 
classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"
VIEWASTEXT>
</OBJECT>

次に、機能ボタンを順番に追加できます.参照:
<input type="button" value="  "> 
<input type="button" value="    ">
<input type="button" value="    ">
<input type="button" value="    "> 
<input type="button" value="    " >

この2つのものを
に置くと、これらのボタンは印刷されません.もちろんnoprintを定義します:印刷したくないもののcssをnoprintに設定すればよい.基本的なWeb印刷が実現しましたが、a.ieのインターネットオプションのセキュリティ設定でセキュリティとマークされていないActiveXコントロールについて...プロンプトまたは有効に設定します.そうしないと、エラーが発生し、使用できません.b.vs.net編集環境でこのページを編集すると、objectに余分なパラメータを自動的に追加し、これらのものがあれば印刷エラーになるので、最後に保存するときに削除することを覚えておいてください.2、javascriptで固定ラベル内の内容aを印刷し、ページのコードヘッダにJavaScriptを加える:参照:
<script language=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();
}
</script>

b、ページ本文にとID.すなわち,ユーザが印刷保存を必要とする本文に対応するhtmlに添付する.また、スリプログラムを用いてリモートデータを取得し、印刷する必要がある場合は、これらのデータを定義ラベル内に配置すればよい.c、コンテンツの切り取りが完了しました.「印刷」のリンクを追加します.
<a href="javascript:;" >  </a>

3、windowsはマウスの左ボタンを押して、印刷したい内容を選択し、右クリックして「印刷」を選択し、ポップアップの印刷ダイアログボックスの「ページ範囲」で「選択範囲」を選択すれば、選択した内容だけを印刷することができます.(3)ヘッダーフッター参照の削除/追加:
<script language="JavaScript">
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){}
}
//               
function pagesetup_default(){
try{
var RegWsh = new ActiveXObject("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")
}catch(e){}
}
</script>
<input type="button" value="    " onclick=pagesetup_null()>
<input type="button" value="    " onclick=pagesetup_default()>

コピーして、効果を見ればいい(四)外部コントロール/方法で多機能印刷1、IEWebBrowserコンポーネント紹介を実現http://support.microsoft.com/default.aspx?scid=kb%3BEN-US%3BQ267240#tophttp://support.microsoft.com/kb/q247671/#appliestoコード参照:
<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0>
</OBJECT>
<input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=  >
<input name=Button onClick=document.all.WebBrowser.ExecWB(2,1) type=button value=    >
<input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=   >
<input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=  >
<input name=Button onClick=document.all.WebBrowser.ExecWB(6,6) type=button value=    >
<input name=Button onClick=document.all.WebBrowser.ExecWB(7,1) type=button value=    >
<input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=    >
<input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=  >
<input name=Button onClick=document.all.WebBrowser.ExecWB(17,1) type=button value=  >
<input name=Button onClick=document.all.WebBrowser.ExecWB(22,1) type=button value=  >
<input name=Button onClick=document.all.WebBrowser.ExecWB(45,1) type=button value=  >

2、ScriptXを使用する.Cabコントロール1.ScriptXをダウンロードする.cabコントロール公式サイトhttp://www.meadroid.com/scriptx/index.asp2.object要素を使用して、codebase,classidの値を変更します.ここでコントロールScriptXを呼び出します.Cabコード参照:
<OBJECT id="factory" style="DISPLAY: none" 
codeBase="${rootUrl}js/smsx.cab#VVersion=6,3,435,20" 
classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" viewastext></OBJECT>

このコードはcabファイルをロードするために使用され、clsidとcodebaseはあなたがダウンロードしたcabの情報に対応しなければなりません.そうしないと、コンポーネントがエラーをロードします.この2つは、winrarでダウンロードしたcabファイルを開いて、拡張子を見つける限り、探しにくくありません.infのファイルを開いて、見ることができます.3.コントロールスクリプトPrintを呼び出します.jsファイルコード参照:
function setPrintBase(headerText,footerText,rootUrl) {
// -- 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"
var header = (headerText==null||headerText=="")?'    ':headerText;
var footer = (footerText==null||footerText=="")?'    ':footerText;
factory.printing.header = "&b"+header+"&b" ;
factory.printing.footer = "&b"+footer;
factory.printing.portrait = true;
factory.printing.leftMargin =10.00;
factory.printing.topMargin =10.00;
factory.printing.rightMargin =10.00;
factory.printing.bottomMargin =10.00;
}

例参照:
<html>
<head>
<meta http-equiv="imagetoolbar" c>
<script language="javascript" src="print.js"></script>
<style media="print">
.Noprint {DISPLAY: none;}
</style>
<title>    </title>
</head>
<OBJECT id="factory" style="DISPLAY: none" codeBase="smsx.cab#VVersion=6,3,435,20" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" viewastext></OBJECT>
<script defer>
function window.onload() {
setPrintBase('  ','  ');
}
</script>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<center class="Noprint">
<input type=button value="  " >
<input type=button value="    " >
<input type=button value="    " >
<input type="button" value="  " >
</center>
<center>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td align="center"><b>  </b></td></tr>
</table>
</center>
</body>
</html>

(五)印刷背景のデフォルトの場合、IEブラウザを使用してページを印刷する場合、ページ背景を印刷しない.Webページの背景を印刷する必要がある場合は、次の方法で設定できます.1.IEブラウザを起動します.  2. 【ツール】メニューの【インターネットオプション】メニュー項目を選択し、【インターネットオプション】ダイアログボックスを開きます.  3. [詳細]タブを開き、[印刷]選択範囲で[背景色と画像を印刷]チェックボックスを選択します.  4. [OK]ボタンをクリックして、ダイアログボックスを閉じます.(六)どのようにIEでホームページInternet Explorer(略称IE)5.0以上のバージョンの強大な印刷と印刷プレビュー機能を印刷するか.ここでは、IEでWebページを印刷する方法について説明します.(誰?誰?誰がトマトを投げているの?次のブーイング:これは君が言う必要があるのか?!)咳咳咳、はい、IEの中でホームページを印刷するのは本当に簡単です.ツールバーの[印刷](Print)ボタンをクリックするだけで、現在のWebページを印刷できます.下の図のように:でも、このように打った効果はどうですか?私は言えない.今日お話しするのは、印刷に関する設定パラメータです.これらのパラメータをどのように設定するかで、IEの印刷機能がWordに追いつくことがわかります.これからはページを印刷するときに、好きなように打つことができます.はい、余計なことは言わないで、今私と一緒にIEの印刷パラメータをどのように設定するかを見てみましょう.例えば、ツールバーの「印刷」ボタンや「ファイル」メニューの「印刷」を直接クリックしてこのページを印刷すると、不要な情報がたくさん印刷されます.印刷する前に、IE 5に追加された「印刷プレビュー」機能を使用して、現在のWebページの実際の印刷効果を確認する必要があります.下の図のように、下の図のような「印刷プレビュー」ダイアログボックスでは、ページタイトル、ページのURLアドレス、印刷日など、不要な情報も印刷されていることがわかります.ページ番号は右上にあるので、他の位置(よくある右下のように)に移動できますか?私たちが望むスタイルでページを印刷してもらえませんか?もちろんいいです.すべては「ページ設定」にあります.下の図のような「ページ設定」ダイアログボックスがポップアップされ、すべての秘密がここにあります!元々、IEは自動的にヘッダーとフッターにこれらの不要な印刷情報を追加してくれた.ヘッダーとフッターが欲しくなければ、直接削除すればいいです.:-)ほとんどの場合、私はこのようにしています.しかし、ヘッダーとフッターをカスタマイズしたい場合は、どうすればいいですか?上の「&w&b&p」などはいったいどういう意味ですか?表をあげればわかります.記号の意味&wページタイトル&uページアドレス(URL)&d短い日付フォーマット(「コントロールパネル」の「領域設定」で指定)&D長い日付フォーマット(「コントロールパネル」の「領域設定」で指定)&t「コントロールパネル」の「領域設定」で指定)&t指定した時間フォーマット&T 24時間フォーマット&p現在のページ番号&P総ページ数&bテキストを右揃え(「&b」の後に右揃えにしてください)&b&bテキストを中央にします(「&b」と「&b」の間に中央揃えにしてください)&単一&番号(&)注:1、これらの記号は文字と組み合わせて使用できます.このチュートリアルの「ページ番号,&p/&P」のように.2、ヘッダーとフッターはデフォルトで左揃えであるため、IEは右揃えと中央揃えの設定記号のみを提供する.3、ヘッダーが空、フッターが「&b第&pページ/共&Pページ&b」、フッターの中央に「第1ページ/共4ページ」と表示されるように印刷する方法をお勧めします.上記の知識が分かれば、印刷できます.しかし、ページの一部の画像が印刷中に消えていることに気づくことがあります.Why?どうしてこんなことになったの?焦らないでください.IEのデフォルト設定はページの背景色と画像を印刷しません.IEのインターネットオプションにアクセスしてチェックするだけでいいです.具体的な操作方法は、ポイントIEのメインメニューの「ツール」——「インターネットオプション」——「詳細」タブをクリックして、ポップアップダイアログボックスで「背景色と画像を印刷する」項目を見つけます.下図のように、上の図の赤い丸のオプションをチェックして、「OK」をクリックすればOKです.これで、IEの印刷設定が完了しました.次に、IEをオフにしない限り、上記の設定(最後の「背景色と画像の印刷」の変更は常に有効)を使用して印刷することができます.印刷前に印刷プレビューを行い、効果が満足してから印刷を開始します.