WEB程序需要打印格式页面时解决方案汇总

  收藏 此文于2009-12-04被推荐到CSDN首页
如何被推荐?
WEB程序需要打印格式页面时解决方案汇总

view plaincopy to clipboardprint?
<mce:style media=print><!--  
   
.noprint{display:none;}   
.PageNext{page-break-after: always;}   
--></mce:style><style media=print mce_bogus="1">   
.noprint{display:none;}   
.PageNext{page-break-after: always;} </style>  
<mce:style media=print><!--
 
.noprint{display:none;}
.PageNext{page-break-after: always;}
--></mce:style><style media=print mce_bogus="1">
.noprint{display:none;}
.PageNext{page-break-after: always;} </style> 

 view plaincopy to clipboardprint?
//页面里面的代码,非常经典的WEB打印代码  
   <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0>  
                </OBJECT>  
                <!-- <input type=button value=打印 οnclick=document.all.WebBrowser.ExecWB(6,1)>  -->  
                <input name="Submit2" type="button" value="返回重选" onClick="history.back(1);">  
                <input name="button" type=button οnclick=document.all.WebBrowser.ExecWB(8,1) value=页面设置>  
                <input name="button" type=button onClick=document.all.WebBrowser.ExecWB(7,1) value=打印预览>  
                  <input name="button" type=button onClick=document.all.WebBrowser.ExecWB(6,6) value=打印>  
                <input name="submit" type=submit  value=提交> 
//页面里面的代码,非常经典的WEB打印代码
   <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0>
                </OBJECT>
                <!-- <input type=button value=打印 οnclick=document.all.WebBrowser.ExecWB(6,1)>  -->
    <input name="Submit2" type="button" value="返回重选" onClick="history.back(1);">
                <input name="button" type=button οnclick=document.all.WebBrowser.ExecWB(8,1) value=页面设置>
                <input name="button" type=button onClick=document.all.WebBrowser.ExecWB(7,1) value=打印预览>
                  <input name="button" type=button onClick=document.all.WebBrowser.ExecWB(6,6) value=打印>
                <input name="submit" type=submit  value=提交>

网上网友整理的对于这方面的资料

 对IEWebBrowser这个组件的execWB方法整理了一下
1. <object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>
2. 调用方法。
WebBrowser.ExecWB nCmdID, nCmdExecOpt, [pvaIn], [pvaOut]
3. 参数说明。
(a).nCmdID
OLECMDID_OPEN = 1,
OLECMDID_NEW = 2,
OLECMDID_SAVE = 3,
OLECMDID_SAVEAS = 4,
OLECMDID_SAVECOPYAS = 5,
OLECMDID_PRINT = 6,
OLECMDID_PRINTPREVIEW = 7,
OLECMDID_PAGESETUP = 8,
OLECMDID_SPELL = 9,
OLECMDID_PROPERTIES = 10,
OLECMDID_CUT = 11,
OLECMDID_COPY = 12,
OLECMDID_PASTE = 13,
OLECMDID_PASTESPECIAL = 14,
OLECMDID_UNDO = 15,
OLECMDID_REDO = 16,
OLECMDID_SELECTALL = 17,
OLECMDID_CLEARSELECTION = 18,
OLECMDID_ZOOM = 19,
OLECMDID_GETZOOMRANGE = 20
OLECMDID_UPDATECOMMANDS = 21
OLECMDID_REFRESH = 22
OLECMDID_STOP = 23
OLECMDID_HIDETOOLBARS = 24
OLECMDID_SETPROGRESSMAX = 25
OLECMDID_SETPROGRESSPOS = 26
OLECMDID_SETPROGRESSTEXT = 27
OLECMDID_SETTITLE = 28
OLECMDID_SETDOWNLOADSTATE = 29
OLECMDID_STOPDOWNLOAD = 30
上面的关键词都可以在浏览器的菜单里面找到对应的选项﹐大家一看就明白的﹗
(b).nCmdExecOpt
OLECMDEXECOPT_DODEFAULT = 0,
OLECMDEXECOPT_PROMPTUSER = 1,
LECMDEXECOPT_DONTPROMPTUSER = 2,
OLECMDEXECOPT_SHOWHELP = 3
对于这个参数﹐一般来说﹐选1就可以了。

这是调用IE的”另存为”功能的示例﹕

<object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>
<A href="javascript:WebBrowser.ExecWB(4,1);">Save-存储</A>

______________________________________________________________________________________________
 
OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=WebBrowser width=0></OBJECT>
<table><tr><td>
<input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=打开>
</td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(2,1)
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存为></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=属性></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(6,6) type=button value=打印>不会弹出打印机窗口</td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(7,1) type=button value=打印预览 ></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=页面设置></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=查看页面属性></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(15,1) type=button value=撤销></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(17,1) type=button value=全选></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(22,1) type=button value=刷新></td></tr>
<tr><td><input name=Button onClick=document.all.WebBrowser.ExecWB(45,1) type=button value=关闭窗体无提示></td></tr>
<tr><td><input type=button value=刷新 name=refresh οnclick="window.location.reload()">
</td></tr>


--------------------------------------------------------------------------------

另外 对于 GRIVIEW显示需要打印换页的 用了下面的解决方案

在GridView1_RowDataBound实践中插入一列放行号,根据行号%10 (就是每10行更换一页),插入一个新行

view plaincopy to clipboardprint?
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)  
   {  
if (e.Row.RowIndex != -1)  
       {  
           int id = e.Row.RowIndex + 1;  
           //实现每10行分页的 但是效果不是很好  
           if (id%10==0)  
            {  
             GridViewRow newRow = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Normal);  
             newRow.Cells.Add(new TableCell());  
             newRow.Cells[0].ColumnSpan = e.Row.Cells.Count;  
             newRow.Cells[0].Text = "<div class=PageNext></div>";  
             this.GridView1.Controls[0].Controls.Add(newRow);  
           }  
           e.Row.Cells[0].Text = id.ToString();  
       }  
         
       } 
 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
 if (e.Row.RowIndex != -1)
        {
            int id = e.Row.RowIndex + 1;
            //实现每10行分页的 但是效果不是很好
            if (id%10==0)
             {
              GridViewRow newRow = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Normal);
              newRow.Cells.Add(new TableCell());
              newRow.Cells[0].ColumnSpan = e.Row.Cells.Count;
              newRow.Cells[0].Text = "<div class=PageNext></div>";
              this.GridView1.Controls[0].Controls.Add(newRow);
            }
            e.Row.Cells[0].Text = id.ToString();
        }
       
        } 

另外CSDN的网友 也有更加详细的一篇整理 几乎非常完整 ,但是里面用EXCEL的方法打印 我没有调试出来 ,先记录下来。

http://blog.csdn.net/xwchen/archive/2007/05/31/1633103.aspx


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xuejiayue1105/archive/2009/12/04/4940220.aspx

二维码,条形码,网页各类打印样式控件Lodop 1.如何在页面内嵌入控件见样例一 2.如何选材打印当前页面内容见样例二 3.如何用代码生成打印页见样例三 4.如何打印设计和定位套打见样例四 5.如何控制纸张大小和连续打印见样例五 6.如何输出多页长文档及双面打印见样例六 7.如何定向输出见样例七 8.如何打印图片见样例八 9.如何用程序加载打印维护背景图见样例九 10如何控制打印样式(STYLE)见样例十 11如何直接打印条形码见样例十一 12如何读写本地文件见样例十二 13如何打印旋转内容见样例十三 14如何按URL打印见样例十四 15如何打印表格的页头页尾见样例十五 16如何设置预览窗口大小见样例十六 17如何发打印机指令或直接读写端口见样例十七 18如何打印幅面高度不固定的票据见样例十八 19如何内嵌显示及预览包含背景图见样例十九 20如何强制分页并预览多页卡片见样例二十 21如何控制打印维护的功能权限见样例二十一 22如何构建自己的纯WEB打印预览见样例二十二 23如何居中打印超文本见样例二十三 24如何选择界面皮肤见样例二十四 25如何指定输出到哪页或仅预览见样例二十五 26如何提高多页打印的性能见样例二十六 27如何导出数据到Excel文件见样例二十七 28如何快速读取客户端系统信息见样例二十八 29如何使用其它长度单位见样例二十九 30如何分页输出页面内容见样例三十 31如何打印表格的分页小计或合计见样例三十一 32如何实现清晰的图表打印见样例三十二 33如何实现甘特图等的图表打印见样例三十三 34如何使用百分比%和满页打印见样例三十四 35如何获得打印结果和程序代码见样例三十五 36如何在设计过程中用js编辑内容见样例三十六 37如何打印公章效果图见样例三十七 38如何用BASE64编码输出图片见样例三十八 39如何打印田字格、上划线等文本见样例三十九 40如何进行数据格式转换见样例四十 41如何把内容关联后按顺序打印见样例四十一 42如何把整页内容缩放打印见样例四十二 43如何分页打印综合表格见样例四十三 44如何缩放打印单个超文本内容见样例四十四 45如何获得打印状态及最终结果见样例四十五 46如何设置右边距和下边距见样例四十六
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值