当前位置: 网学 > 编程文档 > XHTML > 正文

WEB打印实例教程

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/19
下载{$ArticleTitle}原创论文样式
中的:

pageErrorPrint.aspx.vb 文件

主调用页

function PrintPage(iPageIndex,strQuery)

{

var strURL;

strURL = "PageErrorPrint.aspx?PageIndex=" + iPageIndex + "&QueryString=" +

strQuery;

winPrint=window.open(strURL,"","left=2000,top=2000,fullscreen=3");

}

打印页HTML 源中的预览控制

<SCRIPT language="javascript">

document.write("<object ID=''WebBrowser'' WIDTH=0 HEIGHT=0

CLASSID=''CLSID:8856F961-340A-11D0-A96B-00C04FD705A2''></object>");

WebBrowser.ExecWB(7,1);

window.opener=null;

window.close();

</SCRIPT>

程序

''首先声明表格容器

Protected WithEvents phContainer As System.Web.UI.WebControls.PlaceHolder

''每个表格中的记录数量

Private Const ItemPerTable As Integer = 20

关键的实现部分

''创建一个符合打印要求的表格

tabPagePrint = NewPrintTable()

''将表头添加到此表格中

Call AddTableTitle(tabPagePrint)

''初始化记录器

i = 0

iItemIndex = iStartPoint

For Each clsItem In clsAllData.ErrorCollection

If i > 0 And i Mod ItemPerTable = 0 Then

''添加表格控件到页面中

phContainer.Controls.Add(tabPagePrint)

''在页面中添加一个换行符

Call AddPageBreak()

''创建新一轮的表格

tabPagePrint = NewPrintTable()

Call AddTableTitle(tabPagePrint)

End If

''将记录添加到表格中

Call AddItemToTable(iItemIndex, tabPagePrint, clsItem)

iItemIndex = iItemIndex + 1

i = i + 1

Next

''添加表格控件到页面中

phContainer.Controls.Add(tabPagePrint)

支持函数

''功能:添加页的换行符

Private Sub AddPageBreak()

Dim ltBreak As LiteralControl

ltBreak = New LiteralControl("<p style=''page-break-before:always''>")

phContainer.Controls.Add(ltBreak)

End Sub

  二、利用IE自身打印

  这种方式比较简单,也常用的打印方式,只需要将报表页面设计好,用户通过IE菜单中的打印功能完成打印。优点是简单,容易实现,缺点是不灵活,不能控制分页,不能控制好页眉和页脚。

  三、将报表导出成Word,Excel或PDF形式打印

  这种方式需要将页面导出成Office文档或pdf,最低的要求是客户端已经安装用以打开Word、Excel或Pdf文档的软件。这种方式可以通过水晶报表组件或其他一些第三方控件非常容易地实现。导出成Pdf形式后打印质量和效果都很好,导出成Word或Excel后用户可以自定义打印的内容和格式。

  总之,现有的打印方案各有所长,在开发过程中应根据用户的需求作选择,利用IE打印简单,容易实现,在用户需求简单或打印内容较少的情况下采用此方案比较适宜。利用自定义控件打印可以实现完全自定义,但需要较高的技术要求和开发周期。利用导出的方式则可以满足用户需要一点自定义或打印内容有多页的需求。

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

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"&nbs

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号