文档库 最新最全的文档下载
当前位置:文档库 › WEB打印几种方案

WEB打印几种方案

WEB打印几种方案
WEB打印几种方案

WEB打印的几种方案

-------------------------------------------一基于Web的打印方案比较分析--------------------------------

基于web的套打,难度在于要将浏览器中呈现的html,精确地打印到票据中,而且能够实现对分页位置的控制。下面就ie浏览器所能采用的套打解决方案,来个汇总分析,希望对大家有所帮助。

一、浏览器的打印功能菜单

这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如:

不能精确分页。浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。

不能准确对齐边边距及打印文字。

不能解决连续打印。比如,不是仅打印一张票据,而是连续一次打印若干个票据。

二、使用webbrowser控件+ javascript

这实际上,是浏览器打印功能菜单的一种程序调用,与打印功能菜单没什么两样。分页的问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中的一个按钮,或一个链接里面调用罢了。

三、使用print css

这是一种最理想的实现web套打的方法。这种方法通过在html文档中,嵌入打印相关的css样式,来实现对html文档输出打印的控制,比如设置纸张大小,纸张纵横方向,打印边距,分页等。显而易见,这种方式成本小,不需要下载任何插件,而且跨平台性非常好。print css推出已经有些时日,但遗憾的是,至今没有一个厂商的浏览器很好地实现了这些标准,这使得程序员目前还不能利用print css进行实际的开发。关于打印css,参见

四、使用PDF文件

用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但在pd f不那么普及的中国,这种方案不是最好选择。

五、采用纯ActiveX

这种方案就是下载一个控件,票据的数据不再以html方式呈现,而是呈现在ActiveX中。这种方案的优点是打印的精确度高,分页的可控性好,但缺点也是很明显的,嵌入ActiveX控件破坏了web应用的整体html风格,且这样的控件比较大(一般超过1M),下载颇费时间)。市场上的非java类报表产品,一般都采用这种方案。

六、采用Applet方式

采用Applet方式,分页或精确打印,都可以做到完美,但缺点也很明显,表现在:

安装Applet成本巨大。需要下载十几M的文件。

打印报表时,需要重新向服务器检索数据,效率低。因为Applet方案,一般采用html方式呈现数据,打印时Applet必须向服务器检索同一张票据的数据,看上去,是打印了当前页的票据,实际上,Applet根本不会用当前html页的数据来打印,而是向服务器下载数据到Applet中来打印。也就是说,打印的话,必须两次请求,一次html呈现,一次用来打印。

不能解决连续打印。比如,不是仅打印一张票据,而是连续一次打印若干个票据。

不能解决打印机设置问题,如存在多台打印机时,总是需要手工选择,打印到哪一台打印机。

市场上java类的报表工具,一般推荐Applet方式来实现打印。

七、轻量级的ActiveX打印方式

-----ScriptX-----

ScriptX的免费版本好点,已经能满足大部分的需求.

MeadCo's ScriptX控件有两种使用方式,一种是做为免费版本使用,一种是做为收费版本使用,免费版本支持的功能要少些,不过最重要也是最常用的页面设置,它还是提供的,因此使用免费版本即可。不过这两个版本用的都是同一个c ab文件,只不过在代码设置中有一些不同。

-----PAZU (四方)-----

PAZU 个人或者商业使用均真正免费授权,无IP或者域名限制。

PAZU自2009年6月起采用免费的许可,申请时,您必须有确定的IP地址或者域名(主机名),PAZU是绑定IP或者域名的,IP或域名尚未确定的我们不能颁发授权,另外,授权一经颁发就不能修改绑定。绑定的IP和域名必须是最终用户的,所以,最终用户的应用网站必须和4Fang网站做好链接,否则PAZ U会因为无法验证授权的合法性而不能正常工作(内网应用除外)。

WEB打印几种方案

WEB打印的几种方案 -------------------------------------------一基于Web的打印方案比较分析-------------------------------- 基于web的套打,难度在于要将浏览器中呈现的html,精确地打印到票据中,而且能够实现对分页位置的控制。下面就ie浏览器所能采用的套打解决方案,来个汇总分析,希望对大家有所帮助。 一、浏览器的打印功能菜单 这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如: 不能精确分页。浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。 不能准确对齐边边距及打印文字。 不能解决连续打印。比如,不是仅打印一张票据,而是连续一次打印若干个票据。 二、使用webbrowser控件+ javascript 这实际上,是浏览器打印功能菜单的一种程序调用,与打印功能菜单没什么两样。分页的问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中的一个按钮,或一个链接里面调用罢了。 三、使用print css 这是一种最理想的实现web套打的方法。这种方法通过在html文档中,嵌入打印相关的css样式,来实现对html文档输出打印的控制,比如设置纸张大小,纸张纵横方向,打印边距,分页等。显而易见,这种方式成本小,不需要下载任何插件,而且跨平台性非常好。print css推出已经有些时日,但遗憾的是,至今没有一个厂商的浏览器很好地实现了这些标准,这使得程序员目前还不能利用print css进行实际的开发。关于打印css,参见 四、使用PDF文件 用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但在pd f不那么普及的中国,这种方案不是最好选择。 五、采用纯ActiveX

打印解决方案

打印,解决方案 篇一:打印机共享完美解决方案 本文将向读者说明在Win7下如何实现同个局域网内共享打印机。经过测试,Win7之间和Win7与XP之间均可正常连接。(引用于作者it_mac ) 第一步:取消禁用Guest用户 1. 点击【开始】按钮,在【计算机】上右键,选择【管理】,如下图所示: 2. 在弹出的【计算机管理】窗口中找到【Guest】用户,如下图所示: 3. 双击【Guest】,打开【Guest属性】窗口,确保【账户已禁用】选项没有被勾选(如下图)。 第二步:共享目标打印机 1. 点击【开始】按钮,选择【设备和打印机】,如下图: 2. 在弹出的窗口中找到想共享的打印机(前提是打印机已正确连接,驱动已正确安装),在该打印机上右键,选择【打印机属性】,如下图: 3. 切换到【共享】选项卡,勾选【共享这台打印机】,

并且设置一个共享名(请记住该共享名,后面的设置可能会用到),如下图: 第三步:进行高级共享设置 1. 在系统托盘的网络连接图标上右键,选择【打开网络和共享中心】,如下图: 篇二:BS应用程序打印解决方案 B/S应用程序打印解决方案 从技术角度来看,B/S架构的打印解决方案主要解决了两方面的关键问题,即打印机控制问题及打印内容格式控制问题,以下将对打印机控制问题面作原理性的说明。 在打印机控制方面,考虑到不同用户、不同应用场合的网络条件、安全性要求及设备状况会存在差异,有三种解决方案,包括:IPP打印方案、浏览器插件打印方案及轮询打印方案。 1 IPP打印方案 系统拓扑结构如图1,整个系统基于B/S架构,用户终端、Web服务器及打印机分别独立接入网络,应用系统和本系统均安装于Web服务器,最终用户通过安装于客户终端的浏览器访问应用系统,并通过应用系统控制本系统进行打印,

Web系统页面打印技术实现与分析V1.0

Web系统页面打印技术实现与分析 V1.0

目录 1 WEB页面打印概述 (1) 2 常用WEB页面打印方案 (2) 2.1浏览器的打印功能 (2) 2.2使用PDF文件 (2) 2.3采用A PPLET方式 (3) 2.4IEW EB B ROWSER+J A V ASCRIPT (3) 2.5利用WORD或EXCEL来实现 (3) 2.6使用第三方控件 (3) 3 WEB打印控件介绍 (4) 3.1S CRIPT X (4) 3.2DLP RINTER (4) 3.3墙外打印控件 (4) 3.4L ODOP (5) 3.5W EB P RINT(商业) (5) 4 WEB页面打印应用实例 (6) 4.1J A V ASCRIPT自带函数 (6) 4.2IEW EB B ROWSER组件 (6) 4.3通过E XCEL实现页面打印 (7) 4.4使用S CRIPT X控件 (8) 5 WEB页面打印技巧 (10) 5.1隐藏打印的W EB元素 (10) 5.2实现简单的页面局部打印 (12) 5.2.1 Javascript实现 (12) 5.2.2 WebBrowser实现 (12) 5.3禁止出现页眉页脚 (14) 1Web页面打印概述 应用WEB化,不论对开发商,还是对用户来说,实在是一种很经济的选择,

因为基于WEB的应用,客户端的规则很简单,容易学习,容易维护,容易发布。在WEB系统中,打印的确是个烦人的问题。要么自己开发打印控件,如果项目时间紧,肯定来不及。这对程序员来说,因为浏览器的局限性,却要面对很多挑战。怎么样来进行基于WEB的套打,就是这么一个令多数程序员头痛不已的问题。基于WEB的套打,难度在于要将浏览器中呈现的HTML,精确地打印到票据中,而且能够实现对分页位置的控制。 本文将介绍常用的Web打印与套打方案,同时提供一些免费的打印控件,供大家学习参考。 2常用Web页面打印方案 2.1浏览器的打印功能 这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如: 1. 不能精确分页。 浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。 2. 不能准确对齐边边距及打印文字。 3. 不能解决连续打印。 比如,不是仅打印一张票据,而是连续一次打印若干个票据。 2.2使用PDF文件 用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但在pdf 不那么普及的中国,这种方案不是最好选择。

手把手教你WEB套打程序开发

手把手教你WEB套打程序开发 WEB套打可选方案不多,理想的更少,利用免费控件Lodop+JavaScript实现精确套打,算是较为经典的选择。这种方案其实比较简单,利用一个htm文件就可以实现模板设计过程,几乎是“空手套”式的开发,但理解这几个步骤还是需要点时间,下面一步步详细演示说明: 第一步:建立一个空白的模板设计文件 把以下超文本代码复制到一个本地htm文件中: 本文模拟EMS特快专递单的程序开发,文件起名为printEMS.htm,权且称它为模板设计文件。 第二步:用浏览器打开该文件 在本地文件夹中双击该文件就可以打开,但在进入设计之前,你的机器需要安装Lodop,如果还没安装过, 请在如下地址下载安装文件(解压rar后运行那个exe文件,Lodop是一个1M左右的小文件): https://www.wendangku.net/doc/041154970.html,/samples/install_lodop.rar 或https://www.wendangku.net/doc/041154970.html,/samples/install_lodop.rar 第三步:准备设计 成功安装Lodop之后再次打开模板设计文件printEMS.htm,点击其中“模板设计”链接,就弹出如下空白的打印设计窗口:

为了尽快定位模板中的数据位置,你需要做一张票据扫描图作为背景,当然没有扫描图也能完成,只是需要多摸索几次,费点时间而已。 下面是我做的EMS扫描图,你把该图另存成一个jpg文件,以便我们一起完成后面的演示步骤。 第四步:装载背景图并调整图片大小 在打印设计窗口,点下图所示的“装载背景图...”菜单,调入以上保存的EMS图片文件。 装载背景图后,点上图所示的“调整背景图...”菜单,弹出下图“背景图调整”窗口,设定其中的图片宽度为209mm,高度113mm会自动变化。 这个宽度值是我测量实际票据得来的。如果扫描图是按1:1比例获得的,那么调整背景图这一步就免了。

三种主流的WebService实现方案

三种主流的WebService实现方案(REST/SOAP/XML-RPC)简述及比较 目前知道的三种主流的Web服务实现方案为: REST:表象化状态转变(软件架构风格) SOAP:简单对象访问协议 XML-RPC:远程过程调用协议 简单介绍: REST:表征状态转移(Representational State Transfer),采用Web 服务使用标准的HTTP 方法(GET/PUT/POST/DELETE) 将所有Web 系统的服务抽象为资源,REST从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。Http协议所抽象的get,post,put,delete就好比数据库中最基本的增删改查,而互联网上的各种资源就好比数据库中的记录(可能这么比喻不是很好),对于各种资源的操作最后总是能抽象成为这四种基本操作,在定义了定位资源的规则以后,对于资源的操作通过标准的Http协议就可以实现,开发者也会受益于这种轻量级的协议。REST是一种软件架构风格而非协议也非规范,是一种针对网络应用的开发方式,可以降低开发的复杂性,提高系统的可伸缩性。 SOAP:简单对象访问协议(Simple Object Access Protocol)是一种标准化的通讯规范,主要用于Web服务(web service)中。用一个简单的例子来说明SOAP 使用过程,一个SOAP 消息可以发送到一个具有Web Service 功能的Web 站点,例如,一个含有房价信息的数据库,消息的参数中标明这是一个查询消息,此站点将返回一个XML 格式的信息,其中包含了查询结果(价格,位置,特点,或者其他信息)。由于数据是用一种标准化的可分析的结构来传递的,所以可以直接被第三方站点所利用。 XML-RPC:一个远程过程调用(remote procedure call,RPC)的分布式计算协议,通过XML 将调用函数封装,并使用HTTP协议作为传送机制。后来在新的功能不断被引入下,这个标准慢慢演变成为今日的SOAP协定。XML-RPC协定是已登记的专利项目。XML-RPC透过向装置了这个协定的服务器发出HTTP请求。发出请求的用户端一般都是需要向远端系统要求呼叫的软件。 三种方案的简单比较 XML-RPC已慢慢的被SOAP所取代,现在很少采用了,但它还是有版权的,我在此就不作多介绍 成熟度上:SOAP在成熟度上优于REST 效率和易用性上:REST更胜一筹 安全性上:SOAP安全性高于REST,因为REST更关注的是效率和性能问题 总体上,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,https://www.wendangku.net/doc/041154970.html,提供接近REST风

技术实现方案(WEB端)

关于梦境的APP 技术实现方案(WEB端) 指导老师:张修军 队名:微积分(Calculus)团队 队员:魏裔龙刘海文孙天松刘刚纪阳徐凯平 时间:2016-03-26

目录 1 .WEB1端技术 (3) 1.1 WEB端技术路线 (3) 1.1.1 MVC模式 (3) 1.1.2WEB架构 (4) 1.2 WEB端实现方案 (7) 1.2.1通信协议 (7) 1.2.2数据处理 (8) 1.2.3数据调用基本过程 (9) 2.数据库 (10) 2.1数据库技术 (10) 2.1.1数据库技术路线 (10) 2.2 数据库实现方案 (11) 2.2.1 数据库的连接 (11) 2.2.2 解决数据量大的问题 (12) 2.2.3 备份与恢复 (13) 3.采用技术 (14) 3.1.PHP的特性 (14) 3.2.优势 (14) 3.3数据库 (15) 111

1.WEB端技术 1.1 WEB端技术路线 1.1.1 MVC模式 WEB端主体框架采用MVC的设计模式,通过视图、控制器、模型的分离减少了代码的耦合度,由于MVC模式的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的少互扰性的构件。 图3-1 MVC模型 图3-2 MVC模式

1.1.2WEB架构 图3-3 服务端系统架构图 WEB应用系统大多采用J2EE(Java 2 Platform Enterprise Edition)的多层框架结构模型,WEB应用框架技术是一种针对某一特定应用领域的面向对象软件复用技术由特定应用领域的软件体系结构所决定的软件构架。我们将使用J2EE 三个比较受欢迎的开源框架SSH来实现web功能。 SSH 为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层。 1)Struts框架 Struts框架是基于MVC(Model-View-Controller,模型视图控制器)模式的框架。采用Java语言编写,它继承了MVC设计模式的特性,对应用系统的用户界面显示和数据的后端业务逻辑代码进行了抽象,并且整合了Servlet与JSP在WEB应用系统开发上的优势。在Struts框架中,模型由实现业务逻辑的JavaBean组件构成,控制器由Action以及Struts-config.xml配置文件来实现,视图由一组JSP文件构成。 2)Spring框架

WEB应用开发复习题打印

《WEB应用开发》复习题 一、填空题 1.要使用SQL Server数据操作组件来存取数据,必须加载System.Data.SQLClient 这个名称空间。要使用Access数据操作组件来存取数据,必须家族System.Data.OleDB这个命名空间。 2.所有控件均运行于服务器端,这是由控件的Runat=server属性指定的,因此,ASP.NET 控件又被称为服务器控件。 3. 服务器端Web控件语法格式: 。Web 控件还拥有一个非常重要的功能,那就是支持数据捆绑(Data Binding),可以和资料源连结,用来显示或修改数据源的数据。 4. VB.NET的变量根据作用域的不同也可分为过程变量和全局变量。变量的作用域由声明它的位置决定。如果是在一个子程序或函数里声明的变量,只在该过程里有效。否则,在整个https://www.wendangku.net/doc/041154970.html, 文件中有效。 5. RangeValidator控件用于验证用户输人的值是否在指定的范围内。可以检查数字、字符和日期。 6. CustomValidator控件可使用自己编写的验证逻辑检查用户的输入。该验证类型允许检查运行时导出的值。表示必须输人3个以上由字母(大小写)、数字、符号“_”(下画线)、“-”(中划线)以及“.”组成的字符串,位数不限。 7. Session对象就是服务器给客户端的一个编号。当一台WEB服务器运行时,可能有若干个用户浏览正在浏览这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个ID,用以标识这个用户的唯一身份。 8. 使用POST传送方式可以传送保密、信息量大的应用,https://www.wendangku.net/doc/041154970.html,提交Web表单信息是用POST传送方式。 9. RequireFieldValidator控件可以用来强迫用户必需输入信息,该控件并不是用于验证数值的大小与对错,而只是验证用户是否在输人框中输入内容。 10. ValidationSummary控件用于收集以上所有末通过检验的控件的ErrorMessage属性的值,以摘要的形式显示页上所有验证程序的验证错误并显示在同一页面。页可以使用这个控件为某一个输入控件指定一个以上的验证,验证的错误信息集中显示。 11.网页表单把网络应用程序的用户界面分割成为两部分:可视的用户界面部分和 用户界面逻辑部分。可视的用户界面部分由一个包括标记语言的标记和网页表单指定元素的文件构成。这部分就好像是一个容器,开发者可以在其中放人如文本、控件等用于显示的元素。用户界面逻辑部分由开发者编写的用于与网页表单相互作用的代码组成,代码可以由基于公共语言运行环

Web打印控件的实现方法

Web打印控件的实现方法 一、浏览器的打印功能菜单 这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如: 1.不能精确分页。 2.浏览器一般是根据用户设置的页面大小,Web页面的内容多少,来自行决定分页位 置,程序员很难控制。会有页脚页眉干扰。 3.不能准确对齐边边距及打印文字。 4.不能解决连续打印。 5.比如,不是仅打印一张票据,而是连续一次打印若干个票据。 二、使用Web Browser控件 + JavaScript 这实际上,是浏览器打印功能菜单的一种程序调用,与打印功能菜单没什么两样。分页的问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中的一个按钮,或一个链接里面调用罢了。 三、使用Print CSS 这是一种最理想的实现Web套打的方法。这种方法通过在html文档中,嵌入打印相关的css样式,来实现对html文档输出打印的控制,比如设置纸张大小,纸张纵横方向,打印边距,分页等。显而易见,这种方式成本小,不需要下载任何插件,而且跨平台性非常好。print css推出已经有些时日,但遗憾的是,至今没有一个厂商的浏览器很好地实现了这些标准,这使得程序员目前还不能利用print css进行实际的开发。关于打印CSS,参见:https://www.wendangku.net/doc/041154970.html,/?page=PrintStylesheets 四、使用pdf文件 用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但在pdf不那么普及的中国,这种方案不是最好选择。 五、采用纯ActiveX 这种方案就是下载一个控件,票据的数据不再以html方式呈现,而是呈现在ActiveX 中。这种方案的优点是打印的精确度高,分页的可控性好,但缺点也是很明显的,嵌入ActiveX控件破坏了Web应用的整体html风格,且这样的控件比较大(一般超过1M,下载颇费时间)。市场上的非java类报表产品,一般都采用这种方案。 六、采用Applet方式 采用Applet方式,分页或精确打印,都可以做到完美,但缺点也很明显,表现在: 1.安装Applet成本巨大。需要下载10M以上的文件。

几种web报表打印方案的比较

几种web报表打印方案的比较 web报表打印通常是系统的辅助部分,但是又必须解决,否则项目完成不了。下面来分析分析目前的几种常见的web报表打印方案。 一、浏览器的菜单打印功能 这是最简单的,只需点击页面上的打印菜单,但是也是问题最多的,基本上是不能满足用户需要。比如:不能精确分页,有出现打出半行字的风险;改变纸型后打印出的格式和页面显示的格式相差太大;页眉页脚也需要从菜单中去设置,等等等等。这种方案最大的优势就是不需要做任何代码,点击打印就可以了。 二、window.Print() 这实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型,套打的问题更加无从谈起,只不过,可以让用户不用去点菜单,直接点击网页中的一个按钮,或一个链接里面调用罢了。 需要指出的是这种方法提供一个打印前和打印后的事件onbeforeprint、onafterprint。可以在打印前的时候重新编辑一些格式,专门送去打印,打印后又处理回来。 function window.onbeforeprint() { //将一些不需要打印的隐藏 } function window.onafterprint() { //放开隐藏的元素 } 事实上,很多用户都是采用这种方式打印,但是这种方式最致命的缺点是不能设置打印参数,比如纸型,页边距,选择打印机等等。 三、导出excel导出pdf文件的打印 将需要打印的数据导出excel文件或者导出pdf文件,然后打开excel文件或者pdf文件重新打印,用这种方案能实现精确的打印,套打也能实现,但是需要客户端安装excel和adobe软件,操作起来也有些麻烦,并且导出的excel文件可以重新修改编辑,一般用户都会要求系统

相关文档