1、基于Web打印、打印预览技术预研报告 历史记录 编号 章节名称 说明 修订日期 版本号 作者 批准人 1 全文 新建 2014/08/27 V1、0 yi 目 录 1 预研背景 4 2 预研目得与意义 4 3 预研目标 4 3、1 概述预研技术得发展情况 4 3、2 预研技术解决方法与方法比较 4 3、3 针对产品进行得方
2、法选择与基本描述 9 4 结论 9 5 参考资料 10 1 预研背景 本次预研就是对XXXV2、0产品中Web打印、打印预览技术得研究。 2 预研目得与意义 本次预研在于找到一种合适得方法用以实现XXXV2、0中Web页面得打印功能,从而给用户提供简单方便得操作、简洁美观得打印效果及预览效果起着十分关键得作用。 3 预研目标 XXX平台V2、0中实现打印预览、打印功能。 3.1 概述预研技术得发展情况 在B/S架构得项目中,由于浏览器得局限性,一直以来Web打印最就是让程序员头痛得技术, 浏览器呈现给用户得页面与实际打印得效果有着很明显得差别,如:打印模板中控制页边距、
3、页眉、页脚、纸张大小等。我们经常用得Word、Excel等应用程序,它们有着简单灵活得设计界面,能满足各种文档得打印需求,而Web应用则因为其特殊得呈现方式,只能寻求其她得解决方案。现有得Web打印控制技术分成三种方式:浏览器得打印功能、第三方控件打印功能、服务器生成Pdf、Word、Excel形式下载到本地打印。 3.2 预研技术解决方法与方法比较 一、 浏览器得打印功能 a) 通过javascript来调用window、print()函数实现,或用户点击浏览器得打印菜单实现预览及打印功能。 4、cript:window、print()'/> @media print{、toolbar{display:none;}} 设置类样式中得内容不打印 、paging{page-break-after:always} 强制换页 优点: 1> 代码简单 2> 支持IE、谷歌、火狐等浏览器 缺点: 1> 不能精确分页。浏览器一般就是根据用户设置得页面大小,web页面得内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。 2> 不能准确对齐边距及打印页面大小。 3> 不能解决连续打印。 b) 使用webbrowser控件+ javascript,这实
5、际上,就是浏览器打印功能菜单得一种程序调用,与打印功能菜单没什么两样。分页得问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中得一个按钮,或一个链接里面调用。
6、ocument、all、WebBrowser、ExecWB(8,1)> 优点: 1> 代码简单 缺点: 1> 仅支持IE浏览器 2> 不能精确分页。 二、 第三方控件打印功能 1) 使用ScriptX控件打印 ScriptX就是一个叫MeadCo得国外公司开发得打印控件,可以对页眉,页脚,页边距,纸张方向进行设置,官网得最新版就是6、4,下载以后就是一个smsx、cab文件,其大小为5、06MB,使用时需要在页面引入cab控件
7、 优点: 1> 可以通过代码直接设置页眉页脚页边距 缺点: 1> 分页可控性差 2> 仅支持IE浏览器 2) 使用Lodop控件进行复杂得打印 Lodop俗称露肚皮,就是一个专业得Web打印控件,分为收费版与免费版,也就是目前一般专业打印软件中应用最广得打印控件,所有调用如同JavaScript扩展语句。它就是一个install_lodop32、exe得安装
14、包,其大小为2、28MB。 PRINT_INIT(strPrintTaskName)打印初始化 SET_PRINT_PAGESIZE(intOrient,intPageWidth,intPageHeight,strPa
16、geName)设定纸张大小 ADD_PRINT_HTM(intTop,intLeft,intWidth,intHeight,strHtml)增加超文本项 ADD_PRINT_TEXT(intTop,intLeft,intWidth,intHeight,strContent)增加纯文本项 ADD_PRINT_TABLE(intTop,intLeft,intWidth,intHeight,strHtml)增加表格项 SET_PRINT_STYLE(strStyleName, varStyleValue)设置对象风格 NewPage() 设置换页 PREVIEW打印预览 PRINT直
17、接打印 优点: 1〉 可控性好; 2> 支持IE系列、IE内核系列(遨游、360、世界之窗、搜狗、蚂蚁等)浏览器,以及Firefox(火狐)系列、Chrome(谷歌)系列、Opera系列、Safari系列等各类浏览器 缺点: 1> 需要安装控件 3) 使用Pdf插件进行复杂得打印 PDFObject、js,就是一个 JavaScript 库用来在HTML中动态嵌入 PDF 文档,需要安装Adobe Reader XI应用程序。 优点: 1> 浏览及打印样式美观; 2> 支持常用得浏览器。 缺点: 1> 需要在本地安装Adobe Reader XI浏览工具;
19、2> 需要服务器生成Pdf文档,提供客户端查瞧。 三、 服务器生成Pdf、 Word、Excel形式下载到本地打印 用户将需要打印得数据发送请求给服务器,服务器生成Pdf、Word、Excel文件提供给用户下载,用户下载后通过文档工具进行打印。 优点: 1> 页面可控性好; 2〉 无需考虑浏览器兼容性问题。 缺点: 1> 消耗部分服务器性能; 2> 用户需要下载打印。 3.3 针对产品进行得方法选择与基本描述 1) 浏览器得打印功能使用简单方便,但需要对打印格式要求较高,对单张页面得打印可控性好。 2) 第三方控件打印,打印页面得样式较为美观,可以根据用户得需求设定合适
20、得界面,但需安装第三方控件,对连续打印可控性好。 3) 本地应用打印,繁琐得就是需要将打印得文件下载到本地打开打印,但用户可对打印数据进行编辑操作。 4 结论 如果打印文件就是单张建议使用浏览器自身得打印功能,如果打印得数据较多使用第三方控件或本地应用打印,具体方案待项目设计完成后再做定夺。 5 参考资料 参考资料编号 参考资料名称 1 2 Web系统页面打印技术实现与分析 - moonvan - 博客园、mhtml 3 WEB打印系列教程 - quentin_wjb得日志 - 网易博客 4 Lodop6、1技术手册、doc 5 js插件方式打开pdf文件(浏览器pdf插件分享)_javascript技巧_脚本之家、htm 6 ScriptX、cab 使用及下载 IE打印设置(转) - 没个性得日志 - 网易博客、htm 7 ScriptX打印控件得使用、htm 8 捷普终端安全综合管理平台统计分析 9 西安交通违法当事人网上自助处理系统






