收藏 分销(赏)

基于Web打印、打印预览技术预研报告.doc

上传人:快乐****生活 文档编号:4364175 上传时间:2024-09-13 格式:DOC 页数:10 大小:62.50KB 下载积分:8 金币
下载 相关 举报
基于Web打印、打印预览技术预研报告.doc_第1页
第1页 / 共10页
基于Web打印、打印预览技术预研报告.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
基于Web打印、打印预览技术预研报告 历史记录 编号 章节名称 说明 修订日期 版本号 作者 批准人 1 全文 新建 2014/08/27 V1、0 yi 目 录 1 预研背景 4 2 预研目得与意义 4 3 预研目标 4 3、1 概述预研技术得发展情况 4 3、2 预研技术解决方法与方法比较 4 3、3 针对产品进行得方法选择与基本描述 9 4 结论 9 5 参考资料 10 1 预研背景 本次预研就是对XXXV2、0产品中Web打印、打印预览技术得研究。 2 预研目得与意义 本次预研在于找到一种合适得方法用以实现XXXV2、0中Web页面得打印功能,从而给用户提供简单方便得操作、简洁美观得打印效果及预览效果起着十分关键得作用。 3 预研目标 XXX平台V2、0中实现打印预览、打印功能。 3.1 概述预研技术得发展情况 在B/S架构得项目中,由于浏览器得局限性,一直以来Web打印最就是让程序员头痛得技术, 浏览器呈现给用户得页面与实际打印得效果有着很明显得差别,如:打印模板中控制页边距、页眉、页脚、纸张大小等。我们经常用得Word、Excel等应用程序,它们有着简单灵活得设计界面,能满足各种文档得打印需求,而Web应用则因为其特殊得呈现方式,只能寻求其她得解决方案。现有得Web打印控制技术分成三种方式:浏览器得打印功能、第三方控件打印功能、服务器生成Pdf、Word、Excel形式下载到本地打印。 3.2 预研技术解决方法与方法比较 一、 浏览器得打印功能 a) 通过javascript来调用window、print()函数实现,或用户点击浏览器得打印菜单实现预览及打印功能。 <input type='button' value='打印' onclick='javascript:window、print()'/> @media print{、toolbar{display:none;}} 设置类样式中得内容不打印 、paging{page-break-after:always} 强制换页 优点: 1> 代码简单 2> 支持IE、谷歌、火狐等浏览器 缺点: 1> 不能精确分页。浏览器一般就是根据用户设置得页面大小,web页面得内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。  2> 不能准确对齐边距及打印页面大小。 3>  不能解决连续打印。 b) 使用webbrowser控件+ javascript,这实际上,就是浏览器打印功能菜单得一种程序调用,与打印功能菜单没什么两样。分页得问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中得一个按钮,或一个链接里面调用。  <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0></OBJECT> <input type=button value=打印 onclick=document、all、WebBrowser、ExecWB(6,1)> <input type=button value=页面设置 onclick=document、all、WebBrowser、ExecWB(8,1)> <input type=button value=打印预览 onclick=document、all、WebBrowser、ExecWB(7,1)> 优点: 1> 代码简单 缺点: 1> 仅支持IE浏览器 2> 不能精确分页。  二、 第三方控件打印功能 1) 使用ScriptX控件打印 ScriptX就是一个叫MeadCo得国外公司开发得打印控件,可以对页眉,页脚,页边距,纸张方向进行设置,官网得最新版就是6、4,下载以后就是一个smsx、cab文件,其大小为5、06MB,使用时需要在页面引入cab控件。 <script language="javascript"> var hkey_root,hkey_path,hkey_key hkey_root="HKEY_CURRENT_USER" hkey_path="\\Software\\Microsoft\\InternetExplorer\\PageSetup\\" //设置网页打印得页眉页脚为空 function pagesetup_null() { try{ var RegWsh = new ActiveXObject("WScript、Shell") hkey_key="header" RegWsh、RegWrite(hkey_root+hkey_path+hkey_key,"") hkey_key="footer" RegWsh、RegWrite(hkey_root+hkey_path+hkey_key,"") }catch(e){} } //用于设置打印参数 function printBase() { factory、printing、header = "" //页眉 factory、printing、footer = "" //页脚 factory、printing、portrait = true //true为纵向打印,false为横向打印 factory、printing、leftMargin = 0、5 factory、printing、topMargin = 1、5 factory、printing、rightMargin = 0、5 factory、printing、bottomMargin = 1、5 } //用于调用设置打印参数得方法与显示预览界面 function printReport(){ printBase(); // pagesetup_null(); document、all("button")、style、display = "none";//隐藏按钮 factory、printing、Preview(); } function printWindow() { factory、printing、header = "This is MeadCo"; //頁首 factory、printing、footer = "Printing by ScriptX"; // 頁尾 factory、printing、portrait = false; // 橫印 factory、printing、leftMargin = 1、0; factory、printing、topMargin = 1、0; factory、printing、rightMargin = 1、0; factory、printing、bottomMargin = 1、0; factory、printing、Print(true); } </script> <object id="factory" style="display:none" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"></object> <input type="button" name="Print" value="列印" onclick="printWindow();"> <input id="idPrint2" type="button" value="页面设置" onclick="factory、printing、PageSetup()"> <input id="idPrint3" type="button" value="打印预览" onclick="factory、printing、Preview()"> 优点: 1> 可以通过代码直接设置页眉页脚页边距 缺点: 1> 分页可控性差 2> 仅支持IE浏览器 2) 使用Lodop控件进行复杂得打印 Lodop俗称露肚皮,就是一个专业得Web打印控件,分为收费版与免费版,也就是目前一般专业打印软件中应用最广得打印控件,所有调用如同JavaScript扩展语句。它就是一个install_lodop32、exe得安装包,其大小为2、28MB。 <script language="javascript" src="LodopFuncs、js"></script> <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0 style="position:absolute;left:0px;top:-10px;"></object> <object id="LODOP_EM" type="application/x-print-lodop" width=0 height=0 style="position:absolute;left:0px;top:-10px;"></object> </object> <script type="text/javascript"> LODOP=getLodop(document、getElementById('LODOP_OB'),document、getElementById('LODOP_EM')); </script> PRINT_INIT(strPrintTaskName)打印初始化 SET_PRINT_PAGESIZE(intOrient,intPageWidth,intPageHeight,strPageName)设定纸张大小 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直接打印 优点: 1〉 可控性好; 2> 支持IE系列、IE内核系列(遨游、360、世界之窗、搜狗、蚂蚁等)浏览器,以及Firefox(火狐)系列、Chrome(谷歌)系列、Opera系列、Safari系列等各类浏览器 缺点: 1> 需要安装控件 3) 使用Pdf插件进行复杂得打印 PDFObject、js,就是一个 JavaScript 库用来在HTML中动态嵌入 PDF 文档,需要安装Adobe Reader XI应用程序。 <script type="text/javascript" src="PDF-full_"></script> <script type="text/javascript"> window、onload = function (){ var myPDF = new PDFObject({ url: "sample、pdf" })、embed(); }; </script> <object data="sample、pdf#" type="application/pdf" width="100%" height="100%"></object> 优点: 1> 浏览及打印样式美观; 2> 支持常用得浏览器。 缺点: 1> 需要在本地安装Adobe Reader XI浏览工具; 2> 需要服务器生成Pdf文档,提供客户端查瞧。 三、 服务器生成Pdf、 Word、Excel形式下载到本地打印 用户将需要打印得数据发送请求给服务器,服务器生成Pdf、Word、Excel文件提供给用户下载,用户下载后通过文档工具进行打印。 优点: 1> 页面可控性好; 2〉 无需考虑浏览器兼容性问题。 缺点: 1> 消耗部分服务器性能; 2> 用户需要下载打印。 3.3 针对产品进行得方法选择与基本描述 1) 浏览器得打印功能使用简单方便,但需要对打印格式要求较高,对单张页面得打印可控性好。 2) 第三方控件打印,打印页面得样式较为美观,可以根据用户得需求设定合适得界面,但需安装第三方控件,对连续打印可控性好。 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 西安交通违法当事人网上自助处理系统
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服