现有的Web打印控制技术的方案

裁决小沫揈h

裁决小沫揈h

2016-01-29 13:47

现有的Web打印控制技术的方案,现有的Web打印控制技术的方案

现有的Web打印控制技术分成几种方案
  自定义控件完成打印
  利用IE自带的WebBrowser控件实现打印
  利用第三方控件实现打印
以下主要谈前两个方面的内容

一、 自定义控件方式
自定义控件方式就是利用VB或VC等工具生成COM组件,用定义好的打印格式来分析打印源文件从而实现打印。只有将生成的组件下载并注册到客户机上,才能实现在客户端的打印。
难点主要是定义打印格式、如何来分析打印源文件。现有的比较好的方法是利用XML技术来全面的解决问题,利用XML可以非常容易地定义打印目标的文本、表格等内容的格式。但对程序员的开发要求高,难度比较大。

二、 利用WebBrowser实现Web打印
WebBrowser是IE内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容。与其相关的技术要求有:打印文档的生成、页面设置、打印操作的实现等几个环节。

(一)、 打印文档的生成
1、 客户端脚本方式
客户端脚本分为VBScript、JavaScript、JScript几种脚本语言。在IE下开发应用使用的语法为JScript的语法,由于它和JavaScript几乎没有什么区别,所以也可以称其为JavaScript(下面简写为JS)。一般情况下,主要使用JS来实现DOM文档的分析,DOM为微软提出的一种Web文档模型,主要用来实现Web脚本编程。
利用JS可以分析源页面的内容,将欲打印的页面元素提取出来,实现打印。通过分析源文档的内容,可以生成打印目标文档。

优点:客户端独立完成打印目标文档的生成,减轻服务器负荷;
缺点:源文档的分析操作复杂,并且源文档中的打印内容要有约定;

2、 服务器端程序方式
服务器端程序方式,主要是利用后台代码从数据库中读取打印源,生成打印目标文档。当的页面生成时,还应适当考虑使用CSS来实现强制分页控制。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)

优点:可以生成内容非常的丰富的打印目标文档,目标文档的内容的可控性强。由于打印内容是从数据库中获取的,所以生成操作相对简单;
缺点:服务器端负载比较大;

(二)、 页面设置
页面设置主要是指设置打印文档的页边距、页眉、页脚、纸张等内容。页面设置将直接影响到打印文档版面的生成效果,所以它和打印文档的生成有着密切的关系。比如:表格的行数、大小、位置、字体的大小等。
现有的技术是利用IE6.0内置的打印模板方式来控制页面设置,其可以对打印目标文档产生非常大的影响。打印模板可以控制页边距、页眉、页脚、奇偶页等内容,并可以将用户的设置取得,还可以将设置发送到服务器端。
打印模板技术可以自定预览窗口和打印格式,最大限度地影响目标文档和打印效果。

(三)、 打印操作的实现
此功能的实现主要是利用WebBrowser控件的函数接口来实现打印、打印预览(默认的)、页面设置(默认的)。

<object ID='WebBrowser1' WIDTH=0 HEIGHT=0
CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'
//打印
WebBrowser1.ExecWB(6,1);
//打印设置
WebBrowser1.ExecWB(8,1);
//打印预览
WebBrowser1.ExecWB(7,1);

 

 

 

 

 

三、 本项目采用的打印方案
服务器端程序方式、打印预览接口调用,下面为例,主要参考项目中的: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");
}

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)

打印页HTML源中的预览控制
<SCRIPT language="javascript"function print(){
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


 

 

 

 

 

 

 

 

 

 

 

展开更多 50%)
分享

猜你喜欢

现有的Web打印控制技术的方案

电脑网络
现有的Web打印控制技术的方案

WEB打印设置解决方案三(FileSystem组件实现WEB打印)

ASP
WEB打印设置解决方案三(FileSystem组件实现WEB打印)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

WEB打印设置解决方案三

ASP
WEB打印设置解决方案三

WEB打印设置解决方案四

ASP
WEB打印设置解决方案四

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

WEB打印设置解决方案一

ASP
WEB打印设置解决方案一

WEB打印设置解决方案二

ASP
WEB打印设置解决方案二

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《勇气默示录2》99魔王一回杀的队伍配置攻略

《勇气默示录2》99魔王一回杀的队伍配置攻略

MySQL手册版本 5.0.20-MySQL优化(二) (1)(3)

MySQL手册版本 5.0.20-MySQL优化(二)  (1)(3)
下拉加载更多内容 ↓