一种适应多浏览器的页面打印和导出方法与流程

文档序号:29570849发布日期:2022-04-09 03:51阅读:211来源:国知局
1.本发明涉及计算机应用
技术领域
:,特别是一种适应多浏览器的页面打印和导出方法。
背景技术
::2.cn201810036360.5公开了一种基于http数据传输的打印方法,方法包括以下步骤:集成qt环境,开发打印助手;安装打印插件和打印助手;打印插件和打印助手安装成功后,保持打印助手处于运行状态,始终监测指定端口;打印助手获取网页端的请求参数并对请求类型进行处理;本发明还提供一种基于http数据传输的打印控件,包括辅助打印模块、打印机、本地浏览器、处理器,辅助打印模块包括独立浏览器、打印插件和打印助手。3.近年法院行业大力推进国产化建设,对软件系统的适应性要求越来越高,部分国产化浏览器无法安装插件或者安装的插件部分功能无法适应,导致原有的系统功能无法正常使用。技术实现要素:4.针对现有技术中存在的问题,本发明提供了一种不依赖插件实现兼容的适应多浏览器的页面打印和导出方法。5.本发明的目的通过以下技术方案实现。6.一种适应多浏览器的页面打印和导出方法,步骤包括:7.1)集成环境,在需要使用打印、导出的页面文件中引入提供的浏览器脚本文件和样式定义文件;8.2)使用默认的打印样式,或者按实际项目整体风格调整打印的样式,仅需调整提供的样式定义文件;9.3)按实际使用场景调用对应的打印或导出方法,所述实际使用场景包括:直接打印页面的指定元素、预览需要打印的指定元素、传入页面的超文本信息实现打印、传入页面的链接实现打印、将页面的表格元素导出为excel文件。10.所述直接打印页面的指定元素调用对应的打印方法步骤包括:生成打印对象;根据传入页面的指定元素组装打印页面,并将页面隐藏;通过网页调用打印机实现打印。11.所述预览需要打印的指定元素调用对应的打印方法步骤包括:生成打印对象;根据传入页面的指定元素组装打印页面;打开组装的页面提供预览。12.所述传入页面的超文本信息实现打印调用对应的打印方法步骤包括:生成打印对象;将超文本内容组装成打印的页面;通过网页调用打印机实现打印。13.所述传入页面的链接实现打印调用对应的打印方法步骤包括:生成打印对象;后台加载页面的链接组装成打印的页面;通过网页调用打印机实现打印。14.所述将页面的表格元素导出为excel文件调用对应的导出方法步骤包括:生成打印对象;将页面的表格元素加入需要导出的信息项;导出信息项到指定的文件中。15.将需要打印的页面元素或数据通过当前的浏览器页面动态创建元素document和定义媒介的方式定义需要打印的信息,然后通过当前浏览器调用打印机。16.加载远程数据链接的方式进行打印,当传入数据链接时系统会自动通过ajax获取返回的数据,通过将需要打印的页面元素或数据通过当前的浏览器页面动态创建元素document和定义媒介的方式定义需要打印的信息,然后通过当前浏览器调用打印机。17.通过内联框架iframe的方式将创建的打印信息提供预览,并且可以通过自行修改提供的样式定义文件来实现一些定制化的打印风格和样式。18.通过创建一个隐藏的页面临时链接,通过设置链接的请求内容类型为表格文件标识,并设置链接的下载属性为导出的文件名,实现将页面数据导出为指定的excel文件。19.相比于现有技术,本发明的优点在于:20.1、不依赖各种第三方插件,直接通过window对象(当前浏览器的窗口对象)的打印方法,实现兼容多浏览器的打印功能。21.2、支持打印页面元素的同时也支持打印数据链接地址,实现了无需打开页面也可以打印指定的内容。22.3、支持打印、预览和后台批量打印,并且能够自定义一些打印样式。23.4、支持页面表格数据直接导出为excel文件。附图说明24.图1为本发明流程图。具体实施方式25.下面结合说明书附图和具体的实施例,对本发明作详细描述。26.如图1所述,一种适应多浏览器的页面打印和导出方法,步骤包括:27.步骤一:集成环境,无需安装任何插件,只需要在项目中引入提供的浏览器脚本文件(js文件)和样式定义文件(css文件)28.步骤二:在需要使用打印、导出的页面文件中引入提供的浏览器脚本文件(js文件)和样式定义文件(css文件)29.步骤三:按实际项目整体风格调整打印的样式,仅需调整提供的样式定义文件(css文件)即可,也可不做调整,使用默认的打印样式30.步骤四:按实际使用场景调用对应的方法:31.场景一:直接打印页面的指定元素32.1、生成打印对象33.2、根据传入页面的指定元素组装打印页面,并将页面隐藏(hide)34.3、通过网页调用打印机实现打印35.示例(打印页面print元素内容):36.varp=newprint();37.p.add_print_htm($('print').html());38.p.print();39.场景二:预览需要打印的指定元素40.1、生成打印对象41.2、根据传入页面的指定元素组装打印页面42.3、打开组装的页面提供预览43.示例(预览页面print元素内容):44.varp=newprint();45.p.add_print_htm($('print').html());46.p.preview();47.场景三:传入页面的超文本信息实现打印48.1、生成打印对象49.2、将超文本内容组装成打印的页面50.3、通过网页调用打印机实现打印51.示例(打印超文本printhtml内容):52.varp=newprint();53.p.add_print_htm(printhtml);54.p.print();55.场景四:传入页面的链接实现打印56.1、生成打印对象57.2、后台加载页面的链接组装成打印的页面58.3、通过网页调用打印机实现打印59.示例(打印页面链接printurl内容):60.varp=newprint();61.p.add_print_url(printurl);62.p.print();63.场景五:将页面的表格元素导出为excel文件64.1、生成打印对象65.2、将页面的表格元素加入需要导出的信息项66.3、导出信息项到指定的文件中67.示例(导出页面表格元素table的内容):68.varp=newprint();69.p.add_print_table($('table').html());70.p.save_to_file(xxx.xls);71.本发明将需要打印的页面元素或数据通过当前的浏览器页面动态创建元素document和定义媒介(meida)的方式定义需要打印的信息,然后通过当前浏览器调用打印机,解决了不同浏览器下的兼容问题。72.本发明不仅支持获取当前页面的元素进行打印,同时也支持加载远程数据链接(url地址)的方式进行打印,当传入数据链接时系统会自动通过ajax(一种通过http加载远程数据的方式)获取返回的数据,通过上述1的描述实现打印。73.本发明通过内联框架iframe的方式将创建的打印信息提供预览,并且可以通过自行修改提供的样式定义文件(css文件)来实现一些定制化的打印风格和样式(比如:自动去除打印页的页眉页脚,调整打印的背景色、水印、横向/纵向和字体等打印风格),使打印功能具备一定的可扩展性,以适应更多的使用场景。74.本发明通过创建一个隐藏的页面临时链接,通过设置链接的请求内容类型(content-type)为表格文件标识(application/vnd.ms-excel),并设置链接的下载属性为导出的文件名,实现将页面数据导出为指定的excel文件。75.本发明应用于常见浏览器,进行页面表格数据、图片、pdf等预览打印及导出。打印功能为调用各个浏览器对页面元素或接口返回数据进行选中预览和打印;导出功能则是对表格数据解析,生成文件供使用者下载。本发明解决了调用外部插件所导致的安全问题,也避免了在不同浏览器上进行打印导出的兼容性问题。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1