`

几种web打印方案的比较

阅读更多

几种web打印方案的比较

打印通常是系统的辅助部分,但是又必须解决,否则项目完成不了。下面来分析分析目前的几种常见的web打印方案。


一、 浏览器的菜单打印功能
这是最简单的,只需点击页面上的打印菜单,但是也是问题最多的,基本上是不能满足用户需要。比如:不能精确分页,有出现打出半行字的风险;改变纸型后打印出的格式和页面显示的格式相差太大;页眉页脚也需要从菜单中去设置,等等等等。这种方案最大的优势就是不需要做任何代码,点击打印就可以了。

 二、 window.Print()

这实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型,套打的问题更加无从谈起,只不过,可以让用户不用去点菜单,直接点击网页中的一个按钮,或一个链接里面调用罢了。
需要指出的是这种方法提供一个打印前和打印后的事件onbeforeprint、onafterprint。可以在打印前的时候重新编辑一些格式,专门送去打印,打印后又处理回来。
function window.onbeforeprint()
{
//将一些不需要打印的隐藏
}
function window.onafterprint()
{
//放开隐藏的元素
}


事实上,很多用户都是采用这种方式打印,但是这种方式最致命的缺点是不能设置打印参数,比如纸型,页边距,选择打印机等等。

三、 导出excel导出pdf文件的打印
将需要打印的数据导出excel文件或者导出pdf文件,然后打开excel文件或者pdf文件重新打印,用这种方案能实现精确的打印,套打也能实现,但是需要客户端安装excel和adobe软件,操作起来也有些麻烦,并且导出的excel文件可以重新修改编辑,一般用户都会要求系统提供这种导出的方案,也同时需要直接打印的功能,所以个人觉得这种方案也不能很好的解决打印的问题。


四、 纯ActiveX控件
这种方案其实就是编写一个C/S的打印控件,然后嵌入到页面里面,将要打印的数据装入到控件中,然后打印。这种方案的优点是打印精度高,分页,设置打印参数等等都能实现。但是缺点也是很明显的,嵌入ActiveX控件破坏了web应用的整体html风格,且这样的控件通常都比较大,一般都超过1M,下载很慢。

五、 Applet方式
采用Applet方式,分页或精确打印,都可以做到完美,但缺点也很明显,表现在:
安装Applet成本巨大。需要下载十几M的文件。
Applet本身可能并不大,但运行Applet所需的jre一般至少10几M(jre1.4.2 , 15.45M)。用户需要极大的耐心,来进行打印。
打印报表时,需要重新向服务器检索数据,效率低。
因为Applet方案,一般采用html方式呈现数据,打印时Applet必须向服务器检索同一张票据的数据,看上去,是打印了当前页的票据,实际上,Applet根本不会用当前html页的数据来打印,而是向服务器下载数据到Applet中来打印。也就是说,打印的话,必须两次请求,一次html呈现,一次用来打印。
市场上java类的报表工具,一般推荐Applet方式来实现打印。
 
六、 轻量级的ActiveX插件+DHTML+javascript+后台代码(动态获取数据)

轻量级ActiveX插件:设置打印参数,比如预定义纸型,设置打印方向,打印边距,指定打印机,不弹出打印对话框直接打印等等。

DHTML+javascript编辑打印数据的格式展现,实现格式的自定义。

后台代码,可以是java,dotnet等等的,实现动态获取打印数据。

这种方案是比较理想的,只需要客户端下载一个很小的打印插件,客户端无需安装任何C/S的格式设计器,就可以轻松实现打印格式的自定义,打印参数的自定义等等。

eprint自定义打印工具就是这样一种web打印工具。下面是运行这种方案实现格式自定义的一个示例:

下面是一个预览的界面。

格式设计页面如下:

代码调用如下图:红色圈中的为调用的javascript函数。


这种方案的优点是:
能设置打印的纸型,方向,边距,页眉页脚等等打印参数。
能实现精确打印,分页;
格式可以自定义;
成本低廉,ActiveX只有70k。


分享到:
评论
2 楼 dehuai 2009-02-03  
是否考虑跨平台应用??
linux怎么试用比较好??
1 楼 supercrsky 2008-11-13  
lodop 比ePrint好用多了.

相关推荐

    Web打印设置总结

    本文将深入探讨Web打印设置的几种常见方法,包括直接页面设置打印、利用IEWebBrowser控件实现打印等,旨在为用户提供一个全面且实用的Web打印解决方案。 #### 直接页面设置打印 最直接的Web打印方法是通过浏览器...

    免费web打印控件最新

    在IT行业中,Web打印控件是一种重要的技术工具,它允许用户在网页上直接进行打印操作,无需通过浏览器的默认打印设置。"免费Web打印控件最新"可能指的是一个最新的、无需付费的解决方案,旨在提高用户体验并简化网页...

    web打印.doc

    ### Web打印技术详解:Jaspersoft + iReport + Designer 4.5.0 教程 #### 背景及需求分析 随着信息技术的发展,Web打印成为越来越多企业选择的高效打印方式之一。本文档旨在介绍如何利用Jaspersoft、iReport、...

    好用的web打印插件

    在实际应用中,选择和配置Web打印插件时,需要注意以下几点: 1. 兼容性:确保插件支持用户的浏览器和操作系统。 2. 功能:插件应能提供基本的打印设置,如页边距、纸张大小、方向等。 3. 用户体验:界面简洁易懂,...

    Java Web开发技术方案宝典-报表打印

    以下是几种常用的报表打印技术方案。 ##### 6.1.1 JavaScript + CSS 打印技术 **JavaScript** 和 **CSS** 结合可以非常有效地实现在Web页面上的打印功能。这种方式主要是通过JavaScript脚本来调用浏览器自身的打印...

    Web打印控制技术总结

    目前,Web打印技术主要有以下几种方案: 1. **自定义控件完成打印** - 利用VB或VC等工具创建COM组件,该组件根据预设的打印格式解析打印源文件进行打印。用户需下载并注册组件到本地才能使用。 - 通过XML技术定义...

    web打印教程.doc

    以下是对几种常见的Web打印解决方案的详细分析: 1. **浏览器的打印功能菜单**:这是最基础的方法,无需额外开发,但控制精度低,不能精确分页,页眉页脚可能干扰,文字对齐和边距控制不准确,且不适合连续打印多张...

    Web打印控件

    在网页中集成Web打印控件,通常有以下几种实现方式: 1. **JavaScript打印**:通过JavaScript的window.print()方法,开发者可以直接调用浏览器的打印功能。这种方法简单易行,但缺乏定制性,比如不能设置页眉、页脚...

    基于Web的套打方案集粹(转载)

    本文将对几种常见的基于Web的套打方案进行详细的解析,并探讨各自的优缺点。 #### 一、浏览器的打印功能菜单 **优点**:简单易用,无需额外安装组件。 **缺点**: 1. **无法精确分页**:浏览器根据页面内容自动...

    web打印控件scriptX

    Web打印控件ScriptX是一种专为网页打印设计的技术解决方案,尤其在JavaScript环境下有着广泛的应用。它允许用户通过浏览器直接打印网页内容,而无需借助其他插件或者弹出打印对话框,提高了网页打印的便捷性和用户...

    aa.rar_html_html 报表_web 打印_报表打印

    在IT行业中,Web打印是一种常见的需求,特别是在企业管理、数据分析和报告呈现等领域。"aa.rar_html_html 报表_web 打印_报表打印"这个标题暗示了我们正在讨论一个与HTML、Web报表以及打印相关的压缩包文件,其中...

    兼容所有浏览器的快速Web打印控件

    在IT行业中,Web打印控件是一种关键的技术工具,它允许用户在不同的Web浏览器上便捷地打印网页内容。本文将深入探讨“兼容所有浏览器的快速Web打印控件”这一主题,结合给定的描述和标签,我们将关注C#、JSP、PHP这...

    Web打印控件及技术文档

    Web打印控件是一种在网页上实现打印功能的关键技术,它使得用户无需下载任何软件即可直接通过浏览器进行打印操作。在“Web打印控件及技术文档”这个主题中,我们主要探讨的是一个名为Lodop的控件,它被广泛应用于Web...

    js打印Web页面

    ### js打印Web页面知识点详解 #### 一、概述 ...以上介绍了使用 JavaScript 实现 Web 页面打印的几种常见方法及其应用场景。通过灵活运用这些技术,开发者可以根据项目需求选择最适合的打印解决方案。

    基于Web的打印管理C#

    综上所述,"基于Web的打印管理C#"是一个综合性的项目,涵盖了Web开发、网络通信、打印控制、数据库操作、安全性等多个方面,为用户提供了一种方便的远程打印解决方案。通过深入理解和实践这些知识点,开发者可以构建...

    Web打印设置总结.pdf

    本文主要探讨了Web打印设置的几种常见方法,特别关注使用IEWebBrowser控件进行打印的实现方式。 首先,最简单直接的方法是让用户自行在浏览器的页面设置中调整,然后进行打印。这种方法虽然操作略显繁琐,但无需...

    .net版本简单方便的web打印编辑器

    .NET框架下的Web打印编辑器是开发人员在构建Web应用程序时常用的一种工具,它允许用户在浏览器环境中进行文本编辑和打印操作。本文将深入探讨.NET环境下,尤其是C#语言中实现简单方便的Web打印编辑器的关键技术和...

    条码打印方案和代码实例

    【条码打印方案和代码实例】是信息技术领域中关于如何实现条码打印的几种方法,主要涉及XML Publisher、Apache FOP、Oracle Reports/IX Library以及PASTA这四种方案。以下将详细介绍这些方案: 1. **方案一:XML ...

    直接打印PDF文件,不弹出打印设置窗口

    然而,如果想要跳过这个步骤,我们可以采用以下几种方法: 1. **利用PDF阅读器的命令行参数**:许多PDF阅读器如Adobe Acrobat提供了命令行接口,允许在启动时指定参数,包括直接打印。例如,Adobe Acrobat的`AcroRd...

Global site tag (gtag.js) - Google Analytics