CN104020967A - 一种基于全国产cpu和os的多浏览器通用web套打方法 - Google Patents
一种基于全国产cpu和os的多浏览器通用web套打方法 Download PDFInfo
- Publication number
- CN104020967A CN104020967A CN201410266324.XA CN201410266324A CN104020967A CN 104020967 A CN104020967 A CN 104020967A CN 201410266324 A CN201410266324 A CN 201410266324A CN 104020967 A CN104020967 A CN 104020967A
- Authority
- CN
- China
- Prior art keywords
- web
- printing
- template
- printing method
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种基于全国产CPU和OS的多浏览器通用WEB套打方法,属于WEB打印领域。该方法以NPAPI技术实现Web客户端前后台交互;以Qt的html解析和打印技术将前台获取的Web模板转换为可打印pdf电子文档;以CUPSAPI技术打印pdf电子文档。与现有技术相比,本发明的基于全国产CPU和OS的多浏览器通用WEB套打方法主要针对全国产软硬件环境中Web套打存在的问题,通过浏览器插件实现Web套打模板的打印功能,可以显著提高客户端响应速度,提升用户的使用体验,具有很好的推广应用价值。
Description
技术领域
本发明涉及一种Web打印方法,具体地说是一种基于全国产CPU和OS的多浏览器通用WEB套打方法。
背景技术
在国家的大力扶持下,具有自主知识产权的全国产软硬件有了较快的发展。尤其是近年来我国发展了众多具有自主知识产权的软硬件产品。龙芯CPU、飞腾CPU、北大众志CPU等具有自主知识产权的高端通用芯片蓬勃发展,正逐步接近世界上同类产品的技术水平;同时,国产基础软件产品的发展也欣欣向荣,神通数据库、达梦数据库、东方通中间件、金蝶中间件、中标操作系统、中标Office办公软件、Wps Office办公软件等国产基础软件产品取得了长足的发展,全国产基础软硬件已经能够满足支撑党政军领域信息化建设的需要。
随着国产软硬件生态环境的发展,给国产软硬件的推广和使用带来了前所未有的机遇。国产基础软硬件虽然有了较大的发展,有些产品性能已经达到或接近国际同类水平,但和国际先进水平还存在着一定差距。导致相同应用全国产环境下运行速度较慢,用户的使用体验较差。
现实应用中,很多Web系统中需要进行证照和票据套打,解决方案一般使用Office办公软件的浏览器插件来实现。国产Wps Office和中标Office办公软件都有相应的浏览器插件产品。这种方式实现套打功能,优点是制作模板方便、灵活,可以充分利用Office办公软件的强大功能,实现复杂的套打功能。但该方式需要从服务器下载Office模板文件到Web客户端,并在客户端打开,同时在数据库中获取动态书签的内容,无形中增加了客户端的响应时间和服务器负载;另外,由于全国产环境硬件性能的瓶颈,运行Office办公软件会消耗很多的计算资源,从而使客户端的响应速度更慢。
另一种方式使用Web方式实现套打功能,html元素控制套打内容的位置,可以精确的实现套打功能和节省客户端有限的计算资源,提升用户的使用体验。但Web浏览器出于安全考虑,一般只对前台页面提供windows.print页面打印方式,需要使用者手工选择打印机、纸张类型、横向纵向、打印份数等参数,使用起来非常不方便,且容易出错。
发明内容
本发明的技术任务是针对上述现有技术的不足,提供一种基于全国产CPU和OS的多浏览器通用WEB套打方法。该方法主要针对全国产软硬件环境中Web套打存在的问题,通过浏览器插件实现Web套打模板的打印功能。
本发明方法涉及基于“龙芯 CPU”的中标麒麟操作系统和中科方德操作系统、基于“北大众志CPU”的中科方德操作系统Web客户端通用套打方法,可同时兼容上述全国产软硬件环境。
具体运行环境如下:
1、硬件环境:龙芯 CPU、北大众志CPU、浪潮龙芯PC、北大众志盒式机。
2、软件环境:中标麒麟桌面操作系统(龙芯CPU)、中科方德桌面操作系统(龙芯CPU)、中科方德桌面操作系统(北大众志CPU)以及基于上述操作系统环境的Firefox浏览器、Chromium浏览器。
本发明的技术任务是按以下方式实现的:一种基于全国产CPU和OS的多浏览器通用WEB套打方法,其特点是以NPAPI技术实现Web客户端前后台交互;以Qt的html解析和打印技术将前台获取的Web模板转换为可打印pdf电子文档;以CUPS API技术打印pdf电子文档。
为了方便打印参数设定,定义了打印参数数据结构,前台JS调用设置接口设定打印参数,后台通过统一数据接口获取打印参数,并在转换和打印时设定打印参数。
打印参数数据结构如下:
typedef struct _ST_PRINT_PARAM
{
int ipageWidth;
int ipageHeight;
int iTop;
int iLeft;
int iButtom;
int iRight;
float iZoom;
int iPrintNum;
char szPageSize[32];
char szLandScape[32];
……
}ST_PRINT_PARAM。
进一步的,以NPAPI技术实现Web客户端前后台交互时,使用base64编码技术将前台Web模板html元素中的汉字正确的传入插件后台。
以NPAPI技术实现Web客户端前后台交互的具体步骤如下:
、Web前台通过JS获取Web打印模板的html元素字符串,通过base64编解码算法将其转换为base64编码的字符串;
、Web客户端插件后台获取到Web模板的base64编码字符串,通过base64解码算法获取Web模板html字符串;
、将解码后的Web模板html字符串写入客户端PC本地临时文件。
以Qt的html解析和打印技术将前台获取的Web模板转换为可打印pdf电子文档时,打印参数固化在pdf电子文档中。优选QtWebkit模块解析html模板文件, QtPrinter模块将解析后的内容转换为可打印pdf电子文档。
以CUPS API技术打印pdf电子文档时,使用CUPS API获取系统已安装打印机,打印pdf电子文档,同时设置打印份数、打印页码,实现Web套打功能。
与现有技术相比,本发明的基于全国产CPU和OS的多浏览器通用WEB套打方法具有以下突出的有益效果:
(1)、采用NPAPI技术开发,具有良好的通用性、跨平台性,可以支持Firefox、Chromium、Opera等支持NPAPI标准的多种浏览器;使用C/C++语言开发,可以显著提高客户端响应速度。
(2)、Web套打时不需要用户手工设置打印参数,打印时前台通过插件提供的接口设置打印参数,显著提升了用户的使用体验。
(3)、该方法使用QtWebkit模块解析Web套打模板,使用QtPrinter模块将Web套打模板转换为pdf电子文档,全过程在客户端进行,不需请求服务器资源和下载模板文件,可以显著降低服务器负载。
(4)、将页面类型、页眉页脚、横纵、纵向、页面高度、页面宽度、上边距、左边距打印参数固化在pdf电子文档中,打印时直接打印pdf电子文档,不需重新设定打印参数。
(5)、使用CUPS API实现打印功能,通过CUPS API可以灵活的设置打印任务属性,实现诸如打印特定页、页眉、页脚等功能。
(6)、具有良好的跨平台性,只需稍作修改,就可以运行于其他遵循POSIX标准的平台上。
附图说明
附图1是本发明基于全国产CPU和OS的多浏览器通用WEB套打方法的流程图。
具体实施方式
参照说明书附图以具体实施例对本发明的基于全国产CPU和OS的多浏览器通用WEB套打方法作以下详细地说明。
实施例:
本发明的基于全国产CPU和OS的多浏览器通用WEB套打方法,采用NPAPI(网景插件应用程序接口)浏览器插件技术实现前台JS和后台处理程序的交互,前台JS获取Web套打模板的html字符串,为使html元素中汉字正确传入后台插件,需将前台获取的Web套打模板html字符串转换为base64编码字符串,后台插件通过解码算法解码为正确的html字符串。
后台程序获取到解码的html字符串后,保存为本地html模板文件,使用QtWebkit模块解析本地html模板文件,QtPrinter模块将本地html模板文件转化为可打印pdf格式电子文档,最后采用CUPS(UNIX 通用打印系统)API获取系统可用打印机,打印生成的pdf电子文档。Web模板打印参数被固化在pdf电子文档中,转换时统一设定。
如附图1所示,上述方法的具体实施步骤如下:
、Web前台通过JS获取Web打印模板的html元素字符串,通过base64编解码算法将其转换为base64编码的字符串。
、Web客户端插件后台获取到Web模板的base64编码字符串,通过base64解码算法获取Web模板html字符串。
、将解码后的Web模板字符串写入客户端PC本地临时文件。
、调用QtWebkit模块解析步骤中生成的html模板文件,然后调用QtPrinter模块将解析后的内容转换为可打印pdf电子文档。
、调用CUPS (UNIX通用打印系统)API打印步骤生成的pdf电子文档,同时设置诸如打印份数、打印页码参数。
通过以上步骤就实现了Web模板套打,打印参数须在步骤之前设置完成,否则会造成无法正确的设置电子文档的纸张类别、横向、纵向等参数,
参数 | 含义 |
ipageWidth | 页面宽度 |
ipageHeight | 页面高度 |
iTop | 上边距 |
iLeft | 左边距 |
iButtom | 底边距 |
iRight | 右边距 |
iZoom | 放大缩小比例 |
iPrintNum | 打印份数 |
szPageSize | 纸张类别 |
szLandScape | 横向纵向 |
…… | …… |
插件中定义打印参数各字段具体含义如上表所示。
Claims (7)
1.一种基于全国产CPU和OS的多浏览器通用WEB套打方法,其特征在于:以NPAPI技术实现Web客户端前后台交互;以Qt的html解析和打印技术将前台获取的Web模板转换为可打印pdf电子文档;以CUPS API技术打印pdf电子文档。
2.根据权利要求1所述的基于全国产CPU和OS的多浏览器通用WEB套打方法,其特征在于定义打印参数数据结构,前台JS调用设置接口设定打印参数,后台通过统一数据接口获取打印参数,并在转换和打印时设定打印参数。
3.根据权利要求1所述的基于全国产CPU和OS的多浏览器通用WEB套打方法,其特征在于以NPAPI技术实现Web客户端前后台交互,使用base64编码技术将前台Web模板html元素中的汉字传入插件后台。
4.根据权利要求3所述的基于全国产CPU和OS的多浏览器通用WEB套打方法,其特征在于以NPAPI技术实现Web客户端前后台交互的具体步骤如下:
、Web前台通过JS获取Web打印模板的html元素字符串,通过base64编解码算法将其转换为base64编码的字符串;
、Web客户端插件后台获取到Web模板的base64编码字符串,通过base64解码算法获取Web模板html字符串;
、将解码后的Web模板html字符串写入客户端PC本地临时文件。
5.根据权利要求1所述的基于全国产CPU和OS的多浏览器通用WEB套打方法,其特征在于以Qt的html解析和打印技术将前台获取的Web模板转换为可打印pdf电子文档时,打印参数固化在pdf电子文档中,所述打印参数包括纸张类别、横向、纵向、左边距、下边距、缩放、页面高度、页面宽度。
6.根据权利要求5所述的基于全国产CPU和OS的多浏览器通用WEB套打方法,其特征在于以QtWebkit模块解析html模板文件,以QtPrinter模块将解析后的内容转换为可打印pdf电子文档。
7.根据权利要求1所述的基于全国产CPU和OS的多浏览器通用WEB套打方法,其特征在于以CUPS API技术打印pdf电子文档时,使用CUPS API获取系统已安装打印机,打印pdf电子文档,同时设置打印份数、打印页码,实现Web套打功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410266324.XA CN104020967A (zh) | 2014-06-16 | 2014-06-16 | 一种基于全国产cpu和os的多浏览器通用web套打方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410266324.XA CN104020967A (zh) | 2014-06-16 | 2014-06-16 | 一种基于全国产cpu和os的多浏览器通用web套打方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104020967A true CN104020967A (zh) | 2014-09-03 |
Family
ID=51437749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410266324.XA Pending CN104020967A (zh) | 2014-06-16 | 2014-06-16 | 一种基于全国产cpu和os的多浏览器通用web套打方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104020967A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201378A (zh) * | 2016-07-08 | 2016-12-07 | 广州睿本信息科技有限公司 | 移动智能设备套打方法及其装置 |
CN108268223A (zh) * | 2018-01-15 | 2018-07-10 | 合肥盈云信息科技有限公司 | 基于http数据传输的打印方法和打印控件 |
CN109460196A (zh) * | 2018-10-26 | 2019-03-12 | 苏州浪潮智能软件有限公司 | 一种基于驱动新平台实现打印盖章通用功能的方法 |
CN113536170A (zh) * | 2021-06-29 | 2021-10-22 | 深圳市明源云科技有限公司 | 一种打印浏览器内容的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923452A (zh) * | 2010-07-30 | 2010-12-22 | 优视科技有限公司 | 基于移动终端的网页内容打印方法和装置 |
CN102185695A (zh) * | 2009-12-22 | 2011-09-14 | 谷电机工业株式会社 | 信息管理系统、信息管理方法及装置、加密方法及程序 |
CN102356376A (zh) * | 2009-03-18 | 2012-02-15 | 株式会社理光 | 图像形成设备、图像形成方法和程序 |
-
2014
- 2014-06-16 CN CN201410266324.XA patent/CN104020967A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102356376A (zh) * | 2009-03-18 | 2012-02-15 | 株式会社理光 | 图像形成设备、图像形成方法和程序 |
CN102185695A (zh) * | 2009-12-22 | 2011-09-14 | 谷电机工业株式会社 | 信息管理系统、信息管理方法及装置、加密方法及程序 |
CN101923452A (zh) * | 2010-07-30 | 2010-12-22 | 优视科技有限公司 | 基于移动终端的网页内容打印方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201378A (zh) * | 2016-07-08 | 2016-12-07 | 广州睿本信息科技有限公司 | 移动智能设备套打方法及其装置 |
CN108268223A (zh) * | 2018-01-15 | 2018-07-10 | 合肥盈云信息科技有限公司 | 基于http数据传输的打印方法和打印控件 |
CN108268223B (zh) * | 2018-01-15 | 2021-01-12 | 安徽七色米信息科技有限公司 | 基于http数据传输的打印方法和打印控件 |
CN109460196A (zh) * | 2018-10-26 | 2019-03-12 | 苏州浪潮智能软件有限公司 | 一种基于驱动新平台实现打印盖章通用功能的方法 |
CN109460196B (zh) * | 2018-10-26 | 2021-11-09 | 浪潮金融信息技术有限公司 | 一种基于驱动新平台实现打印盖章通用功能的方法 |
CN113536170A (zh) * | 2021-06-29 | 2021-10-22 | 深圳市明源云科技有限公司 | 一种打印浏览器内容的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017088509A1 (zh) | 一种页面定制化的方法和装置 | |
CN101441713B (zh) | 一种pdf文件的光学字符识别方法及装置 | |
CN104020967A (zh) | 一种基于全国产cpu和os的多浏览器通用web套打方法 | |
CN102750281B (zh) | 一种浏览器的脚本处理方法和系统 | |
CN111562919A (zh) | 基于psd文件生成前端网页代码的方法、系统及存储介质 | |
CN104461412A (zh) | web网页指定区域打印方法和系统 | |
ATE310988T1 (de) | Ein druckersystem | |
RU2008109251A (ru) | Начальное воспроизведение контента серверной стороны для web-страниц клинического сценария | |
CN104063380A (zh) | 将图片类文件转换为网页文件的方法和装置 | |
CN105739963A (zh) | 生成网页的方法和装置 | |
WO2008137117A3 (en) | Method and system for extending the capabilities of embedded devices through network clients | |
CN104573122A (zh) | 一种从AIX平台向K-UX平台迁移的Oracle数据库迁移工具 | |
BR0306749A (pt) | Método e meio legìvel por computador para importar e exportar dados estruturados hierarquicamente | |
CN101079059A (zh) | 一种保存网页内容的系统、方法及浏览器 | |
CN104461483A (zh) | 一种字体渲染的方法、装置、渲染平台客户端和服务器 | |
TW201437826A (zh) | 網頁樣式位址合併的方法和裝置 | |
CN102662984A (zh) | 基于html的多平台消息处理方法 | |
CN110738049A (zh) | 相似文本的处理方法、装置及计算机可读存储介质 | |
CN105069116A (zh) | 一种将json串转化为数组的方法及系统 | |
CN1831811A (zh) | 文档处理装置 | |
CN110851606A (zh) | 基于网页结构相似性的网站聚类方法和系统 | |
CN102663324A (zh) | 一种电子文档防伪方法及装置 | |
CN103914293A (zh) | 生成页面的方法及服务器 | |
CN112596688A (zh) | 一种基于TinyMCE富文本的web端自定义打印方法 | |
CN104156394A (zh) | 移动页面创建系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140903 |
|
WD01 | Invention patent application deemed withdrawn after publication |