三九宝宝网宝宝教育学龄段教育

Web打印控制技术的几种方案转

12月23日 编辑 39baobao.com

[我要写一个质检QC的工作方案]看你是同行帮帮你吧。 主要思路告诉你,具体的根据你工厂生产的产品而定进行修改。 在车间实行多关把手,把重点放在前期工作内,如原材料的采购。车间前期工作的把关。加派人手对...+阅读

的确,相对于Windows桌面应用程序来讲,Web应用程序的打印有种种限制,技术人员在项目开发过程中经常会遇到用户这样或那样的需求. 做过桌面应用开发的人都会非常熟悉水晶报表、Active Report之类的报表控件,它们不仅有简单灵活的设计界面,更具有非常强大的报表功能,能满足各种报表的打印需求。而Web应用则因为其特殊的呈现方式,只能寻求其他的解决方案。现在我们来分析一下目前已经成形的Web打印方案: 现有的Web打印控制技术分成几种方案: 一.自定义控件完成打印 利用IE 自带的WebBrowser 控件实现打印 利用第三方控件实现打印 1、自定义控件方式 自定义控件方式就是利用VB 或VC 等工具生成COM 组件,用定义好的打印格式来分析打印源文件从而实现打印。只有将生成的组件下载并注册到客户机上,才能实现在客户端的 打印。 难点主要是定义打印格式、如何来分析打印源文件。现有的比较好的方法是利用XML 技术来全面的解决问题,利用XML 可以非常容易地定义打印目标的文本、表格等内容的格式。 但对程序员的开发要求高,难度比较大。 2、利用WebBrowser 实现Web打印 WebBrowser是IE 内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0 版本 的WebBrowser 控件技术内容。与其相关的技术要求有:打印文档的生成、页面设置、打印操作的实现等几个环节。 (一)、打印文档的生成 1、客户端脚本方式 客户端脚本分为VBScript、java script、JScript 几种脚本语言。在IE 下开发应用使用的语法为JScript 的语法,由于它和java script 几乎没有什么区别,所以也可以称其为java script(下面简写为JS)。一般情况下,主要使用JS 来实现DOM 文档的分析,DOM 为微软提出的一种Web文档模型,主要用来实现Web脚本编程。 利用JS 可以分析源页面的内容,将欲打印的页面元素提取出来,实现打印。通过分析源文档的内容,可以生成打印目标文档。 优点:客户端独立完成打印目标文档的生成,减轻服务器负荷; 缺点:源文档的分析操作复杂,并且源文档中的打印内容要有约定; 2、服务器端程序方式 服务器端程序方式,主要是利用后台代码从数据库中读取打印源,生成打印目标文档。当的页面生成时,还应适当考虑使用CSS 来实现强制分页控制。 优点:可以生成内容非常的丰富的打印目标文档,目标文档的内容的可控性强。由于打印内容是从数据库中获取的,所以生成操作相对简单; 缺点:服务器端负载比较大; (二)、页面设置 页面设置主要是指设置打印文档的页边距、页眉、页脚、纸张等内容。页面设置将直接影响到打印文档版面的生成效果,所以它和打印文档的生成有着密切的关系。比如:表格的 行数、大小、位置、字体的大小等。 现有的技术是利用IE6.0 内置的打印模板方式来控制页面设置,其可以对打印目标文档产生非常大的影响。打印模板可以控制页边距、页眉、页脚、奇偶页等内容,并可以将用户的设置取得,还可以将设置发送到服务器端。 打印模板技术可以自定预览窗口和打印格式,最大限度地影响目标文档和打印效果。 (三)、打印操作的实现 此功能的实现主要是利用WebBrowser控件的函数接口来实现打印、打印预览(默认的)、 页面设置(默认的)。 //打印 WebBrowser1.ExecWB(6,1); //打印设置 WebBrowser1.ExecWB(8,1); //打印预览 WebBrowser1.ExecWB(7,1); 3、一个实例项目采用的打印方案 服务器端程序方式、打印预览接口调用,下面为例, 主要参考项目中的: 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 源中的预览控制 document.write(""); WebBrowser.ExecWB(7,1); window.opener=null; window.close(); 程序头 '首先声明表格容器 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("") phContainer.Controls.Add(ltBreak) End Sub 二、利用IE自身打印 这种方式比较简单,也常用...

以下为关联文档:

小学三年级下册综合实践活动方案怎么写一、指导思想 综合实践活动是密切学生与生活的联系,推进学生对自然、社会和自我之内在联系的 整体认识与体验,以“实践、创新、发展”为主线 , 发展学生的创新能力、实践能力...

企业节能达标活动方案急!十堰市重点耗能企业节能降耗计量服务活动 实 施 方 案 根据国家质检总局、国家发改委《关于印发〈加强能源计量工作的意见〉的意见》、国家发改委等5部门《关于印发千家企业...

楼市开盘的完整策划方案要怎么写5.1楼盘开盘策划方案开盘组织安排 开盘组织安排是指开盘当日销售活动的具体工作流程以及促进流程顺畅运行的各项保障工作。它的主要内容包括:开盘组织流程设计、人员分工及培...

房地产营销方案由于房地产与一般商品具有异质性,如其资金投入巨大、生产周期短、具有价值升值和货币功能、能够半品销售、品质基本不能提升、入市价格低、开盘多、竞争激烈等等。随着房地产...

OA系统app开发主要有哪些解决方案1、创立内部通讯平台,提高信息交流效率:一般OA系统都是开发组织内部的通讯系统,如短信平台、论坛平台、寻呼系统等,使同时之间信息交流更快捷高效。 2、智能化信息发布平台,便于...

谁能给我一份物流企业的OA办公系统解决方案一、物流门户管理系统 物流信息门户作为企业对外的窗口,在互联网上为企业所有相关的外部人员提供信息与知识、社区、网上交易。访问门户的人群包括:客户、供应商、服务商以及...

高级签约仪式方案签约仪式方案(待审) 一、签约名称机会标 XX公司与XX公司签约仪式 二、 签约时间、地点、主持人 时间: ____年____ 月 ___ 日(星期 x)上/下午 X 时 —— X 时 地点:XX(会议厅或酒店)...

求助一级建造师方案作图题的作答技巧展开全部 楼主我谈下我个人的意见,这是在太奇建筑网校学习的经验,分享给你了,希望对你有所帮助。 一级建造师方案作图题特指一级注册建筑师的《建筑方案设计》和二级注册建筑师...

拿到一个方案如何去进行建筑施工图设计第一步应该做什么绘制建筑施工图的步骤和方法 1.确定绘制图样的数量根据房屋的外形、层数、平面布置和构造内容的复杂程度,以及施工的具体要求,确定图样的数量,做到表达内容既不重复也不遗漏。...

推荐阅读
图文推荐