js局部打印

本文介绍Web打印的方法,包括利用IE控件实现打印、局部打印及如何屏蔽不需要打印的元素等内容。

1:WebBrowser 打印

应用的 IE内的控件

<center class=Noprint>   //class=Noprint 这部分不打印
<OBJECT   id="WebBrowser"   height="0"   width="0" classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2></OBJECT>

<input type="button" class='b_01' style="width:70" value="关闭"    onclick="window.close()" imageType="cancel">&nbsp;&nbsp;&nbsp;

<input type="button" class='b_01' style="width:70" value="打印"    onclick=document.all.WebBrowser.ExecWB(6,1) imageType="ok">&nbsp;&nbsp;&nbsp;

<input type="button" class='b_01' style="width:100" value="直接打印"onclick="document.all.WebBrowser.ExecWB(6,6)" /> <!--不会弹出打印机窗体 -->

<input type="button" class='b_01' style="width:100" value="页面设置" onclick="document.all.WebBrowser.ExecWB(8,1)" />

<input type="button" class='b_01' style="width:100" value="打印预览" onclick="document.all.WebBrowser.ExecWB(7,1)" />
  
</center>

<STYLE   media=print>
.Noprint   {  
DISPLAY:   none
}
.PageNext   {
PAGE-BREAK-AFTER:   always
}
</STYLE>

2:

JS 实现简单的页面局部打印
function preview(oper){
if (oper < 10){
bdhtml
=window.document.body.innerHTML;//获取当前页的html代码
sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html

prnhtml
=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
window.document.body.innerHTML=prnhtml;
window.print();
window.document.body.innerHTML
=bdhtml;


}
else {
window.print();
}


}


使用很简单 将页面内要打印的内容加入中间
<!--startprint1-->XXXXX<!--endprint1-->
再加个打印按纽 onclick
=preview(1)

WEB打印如何屏蔽当前页路径这些元素?

方法一:

<style>

@media print { .ipt {display:none} }

</style>

要在不显示的元素上加上class=ipt
如:<input type="button" name="Cclose" value="退出" onclick="pageClose();" class="ipt">

方法二:

往往在打印网页时,执行window.print会把网页的所有内容全部打印,而有一大部分比如网页头部的图片、尾部的版权声明、按钮等,并没有必要打印出来,打印出来浪费时间又浪费油墨。如何把这些内容进行有选择的打印让你的打印文本更简洁明了,更省时美观呢?以下就对这个问题写一个JS文本,供有缘人参考。
_____________________________________________________
<script language="javascript">
function DtPrint() {
if (window.print) {
   var p_1    = document.all.p_1.innerHTML;
   var p_2     = document.all.p_2.innerHTML;
//**************
//这里根据你要打印的哪些内容,从原显示页面中用
//<div id=P_1>p_1....</div><div id=P_2>p_2...</div>等标示,要打印多少项目就用多少下
//提示一下,自己体会:),此处我只写出两个出来:D
//**************
   var css = '<style type="text/css">' +
             'p {   line-height: 120%}' +
             '.ftitle {   line-height: 120%; font-size: 18px; color: #000000}' +
             'td {   font-size: 10px; color: #000000}' +
             '</style>' ;
//**************
//这里是定义打印用的CSS,可以根据你自己的设定去写适合你的格式哦
//本文只定义三个,p,.ftitle,td,其余自己写。越美观越好。
//**************
   var body ='<table width="640" border="0" cellspacing="0" cellpadding="5">' +
               '   <tr> ' +
               ' <td   class="fbody"> ' +
               '    <div align="center" class=ftitle>' + p_title + '</div>' + p_2 +
               ' </td>' +
               '   </tr>' +
               '</table>';
//**************
//body这才是你重新设置的打印格式,根据你的打印要求,重新把原显示网页的DIV内容重新
//组合,可以根据你原来的表格内容,去掉不要打印的东东,只调用你要打印的内容
//另外:根据经验,表格大小为640左右正好是适合A4打印幅面!哈!
//**************
   document.body.innerHTML = '<center>' + css + body + '</center>';
//**************
//然后在这里把document.body重新设一下,这就是打印文档!(有加CSS格式了)
//**************
   window.print();
//**************
//一定要调用window.print()哦,否则,打印无效……说了那么多就成废话了:'(
//**************
}
}
</SCRIPT>

//在页面中,然后通过:dtPrint()调用,就行了
//比如:
//<input type="button" value="打印" LANGUAGE="javascript" onclick="return dtPrint()" ID="Button2" NAME="Button1">
//噢!注意这个可以不用<div></div>标示哦,即使标示,也不用在以上打印文本中调用出来,那样这个Button就不会打印出来了哦,嘿嘿!

 

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制方法。通过结合数据驱动技术与Koopman算子理论,将非线性系统动态近似为高维线性系统,进而利用递归神经网络(RNN)建模并实现系统行为的精确预测。文中详细阐述了模型构建流程、线性化策略及在预测控制中的集成应用,并提供了完整的Matlab代码实现,便于科研人员复现实验、优化算法并拓展至其他精密控制系统。该方法有效提升了纳米级定位系统的控制精度与动态响应性能。; 适合人群:具备自动控制、机器学习或信号处理背景,熟悉Matlab编程,从事精密仪器控制、智能制造或先进控制算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①实现非线性动态系统的数据驱动线性化建模;②提升纳米定位平台的轨迹跟踪与预测控制性能;③为高精度控制系统提供可复现的Koopman-RNN融合解决方案; 阅读建议:建议结合Matlab代码逐段理解算法实现细节,重点关注Koopman观测矩阵构造、RNN训练流程与模型预测控制器(MPC)的集成方式,鼓励在实际硬件平台上验证并调整参数以适应具体应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值