asp.Netの「オンデマンド印刷」(印刷する必要がある部分を印刷する)実装コード
まずasp.Netページには印刷開始と印刷終了のタグが設定されており、このタグがWeb閲覧時に表示されないように「」方式を採用しています.例えば:と.
次に関連するJavaScriptコードを書き、具体的なコードは後で参照してください.
印刷ボタンも印刷したくない場合は、印刷ボタンを和の外に含めることに注意してください.
関連コード:
MasterPageFile="MasterPage.master" Title=" " %>
:
:
:
: :
: :
: :
: : : :
: :
";
eprnstr = "";
prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);
prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
window.document.body.innerHTML = prnhtml;
var obj = window.document.body;
doZoom(obj, 18); //
window.print();
}
function doZoom(artibody, size) {
if (!artibody)
{
return;
}
setChildNodesByCurrentNode(artibody,size);
}
function setChildNodesByCurrentNode(node,size) {
for(var i=0; i < node.childNodes.length; i++) {
var artibodyChild = node.childNodes[i];
if (artibodyChild.nodeType == 1) {
artibodyChild.className="";
artibodyChild.style.fontSize = size + 'px';
artibodyChild.style.fontFamily = ' _GB2312, ,"Times New Roman",Georgia,serif';
artibodyChild.style.fontWeight = 900;
if(artibodyChild.childNodes.length>0) {
setChildNodesByCurrentNode(artibodyChild,size);
}
}
}
}
-->
のコードを ると、 、windowがわかります.document.body.innerHTMLは、 するページ を するコード(ここではprnhtml)に り てされ、setChildNodesByCurrentNode(artibody,size)を に び して サブノードのスタイルを し、 フォントサイズおよびスタイル をすべて する を する.