CN110865775B - 一种基于web进行在线设计与预览的打印方法 - Google Patents
一种基于web进行在线设计与预览的打印方法 Download PDFInfo
- Publication number
- CN110865775B CN110865775B CN201910918042.6A CN201910918042A CN110865775B CN 110865775 B CN110865775 B CN 110865775B CN 201910918042 A CN201910918042 A CN 201910918042A CN 110865775 B CN110865775 B CN 110865775B
- Authority
- CN
- China
- Prior art keywords
- printing
- data
- template
- web
- client
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/125—Page layout or assigning input pages onto output media, e.g. imposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
Abstract
本发明提供了医院单据以及报表打印领域的一种基于WEB进行在线设计与预览的打印方法,包括如下步骤:步骤S10、在服务端上创建一用于存储打印模板的数据库、创建复数个打印模板并存储于所述数据库;步骤S20、在WEB中向服务端发送打印的HTTP请求、业务数据以及模板编码;步骤S30、服务端依据接收的HTTP请求以及模板编码加载对应的打印模板;步骤S40、服务端通过模板引擎将所述业务数据更新至对应的打印模板内并生成打印数据,并将所述打印数据发送给客户端;步骤S50、客户端依据接收的打印数据进行预览以及打印。本发明的优点在于:无需安装ActiveX插件即可对单据以及报表进行精细的打印。
Description
技术领域
本发明涉及医院单据以及报表打印领域,特别指一种基于WEB进行在线设计与预览的打印方法。
背景技术
医院资源规划系统(HRP系统)的主要客户为各省级、县级医院和中医院的管理人员,由于每家医院的管理方式不同,使得对于同一类型的单据所要求的打印格式不尽相同,因此需要医院资源规划系统能够根据各家医院的单据方案设计出符合日常使用的单据格式,且需要支持医院资源规划系统中各种复杂报表数据的打印。
针对单据以及报表打印,传统上存在如下几种方法:
方法一:通过浏览器的打印功能菜单进行打印;该方法存在如下缺点:浏览器根据用户设置的页面大小以及web页面内容的多少来自行决定分页位置,导致不能精确的进行分页,且存在页脚页眉干扰、不能准确对齐边距以及打印的文字以及不能连续打印。
方法二:通过webbrowser控件+javascript进行打印;该方法存在如下缺点:该方法仍是浏览器的打印功能菜单的一种程序调用,可以直接通过网页中的一个按钮或者链接进行调用浏览器的打印功能菜单,存在和方法一相同的缺点。
方法三:通过print css进行打印,即在html文档中嵌入打印相关的css样式来实现对html文档输出打印的控制,如设置纸张大小、纸张纵横方向、打印边距以及分页等,但是目前的浏览器还未很好的支持该方法,使得程序员目前还不能利用print css进行实际的开发。
方法四:通过PDF文件进行打印,即从服务端端下载一个PDF文件流,在浏览器中用adobe插件打开,然后利用adobe的打印菜单进行打印;该方法存在如下缺点:不能直接打印,需要下载adobe插件,一些只能使用局端电脑的环境将可能不能打印,且现有的程序语言对于PDF的生成与复杂页面控制缺少比较好的技术支持,难以精确控制PDF文档中内容的打印位置。
因此,如何提供一种基于WEB进行在线设计与预览的打印方法,实现无需安装插件即可对单据以及报表进行精细的打印,成为一个亟待解决的问题。
发明内容
本发明要解决的技术问题,在于提供一种基于WEB进行在线设计与预览的打印方法,实现无需安装ActiveX插件即可对单据以及报表进行精细的打印。
本发明是这样实现的:一种基于WEB进行在线设计与预览的打印方法,包括如下步骤:
步骤S10、在服务端上创建一用于存储打印模板的数据库、创建复数个打印模板并存储于所述数据库;
步骤S20、在WEB中向服务端发送打印的HTTP请求、业务数据以及模板编码;
步骤S30、服务端依据接收的HTTP请求以及模板编码加载对应的打印模板;
步骤S40、服务端通过模板引擎将所述业务数据更新至对应的打印模板内并生成打印数据,并将所述打印数据发送给客户端;
步骤S50、客户端依据接收的打印数据进行预览以及打印。
进一步地,所述步骤S10具体为:
在服务端上创建一用于存储打印模板的数据库、通过在线编辑器创建复数个打印模板并存储于所述数据库;
所述打印模板至少包括:模板编码、纸张类型、纸张宽度、纸张高度、纸张边距、打印行数、初始化内容、打印的头部内容、打印的中间内容以及打印的尾部内容;所述打印模板中需要替换的数据使用变量来定义。
进一步地,所述步骤S20具体为:
在WEB中通过Ajax向服务端发送打印的HTTP请求、业务数据以及模板编码。
进一步地,所述步骤S30具体为:
服务端依据接收的HTTP请求以及模板编码,从所述数据库中加载对应的打印模板。
进一步地,所述步骤S40具体包括:
步骤S41、服务端通过模板引擎将所述业务数据更新至对应的打印模板内;
步骤S42、服务端对更新业务数据的打印模板进行数据的筛选以及组装,并将打印模板的数据拼接成字符串生成打印数据后发送给客户端。
进一步地,所述步骤S50具体包括:
步骤S51、客户端接收所述打印数据;
步骤S52、客户端将所述打印数据转换为JavaScript语言并进行解析;
步骤S53、客户端对解析后的数据进行预览后打印或者直接进行打印。
本发明的优点在于:
1、通过采用JavaScript和HTTP协议进行打印,无需安装加载ActiveX插件,方便程序的部署以及客户端的使用,杜绝了插件带来的各种危害以及拖慢浏览器;且可以扩展到移动端,通过远程访问的方式将打印任务发送到局域网内安装了打印机的PC,实现局域网移动打印。
2、通过创建至少包括模板编码、纸张类型、纸张宽度、纸张高度、纸张边距、打印行数、初始化内容、打印的头部内容、打印的中间内容以及打印的尾部内容的打印模板,实现对单据以及报表进行精细的打印。
3、通过在线编辑器创建打印模板,实现可视化设计打印模板,通过简单的HTML代码的编写就能轻松设计出非常精细的打印模板,使得维护人员和客户可以直接在线修改打印模板,并及时预览效果。
4、打印模板支持丰富的打印元素,如文字、图片、一维条形码以及二维条形码,还支持将多页PDF嵌入打印模板中进行打印。
5、通过在纯WEB环境中运行,支持在IE、Microsoft Edge、FireFox、Chrome、Safari、Opera等主流浏览器上运行、且不依赖于任何第三方JS框架、实现在各种运行环境下都可以良好运行,且支持任何语言开发的B/S系统。
6、使用简单,客户端使用JavaScript通过post提交数据到服务端,服务端把打印所数据组装成json文件并加载相对应的打印模板,其他与打印格式相关的工作不需要每次打印重复设置。
7、通过打印内容以HTML片段和URL两种方式传入、支持在HTML片段中嵌入CSS,支持在URL中嵌入JavaScript和CSS,使得打印方式更加友好。
8、灵活配置的任务:基于任务的打印选项、支持对不同任务指定不同的打印机、纸张大小、页边距等选项,若未对打印的页面进行设置则默认取数据库中的页面属性,避免用户每次打印时都要设置相应的打印选项。
9、解决了系统中的”套打单据”的业务场景,通过HTML的定位与背景图方案精确定位元素的显示位置。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是本发明一种基于WEB进行在线设计与预览的打印方法的流程图。
具体实施方式
请参照图1所示,本发明一种基于WEB进行在线设计与预览的打印方法的较佳实施例,包括如下步骤:
步骤S10、在服务端上创建一用于存储打印模板的数据库、创建复数个打印模板并存储于所述数据库;
步骤S20、在WEB中向服务端发送打印的HTTP请求、业务数据以及模板编码;
步骤S30、服务端依据接收的HTTP请求以及模板编码加载对应的打印模板;
步骤S40、服务端通过模板引擎将所述业务数据更新至对应的打印模板内并生成打印数据,并将所述打印数据发送给客户端;
即通过模板引擎的解析与数据替换,服务端辅以相应的数据判断、数据循环等操作之后、在服务端组装打印的头部内容、中间内容、尾部内容、以及其他打印的内容,最后拼接成json格式的字符串返回到客户端;
步骤S50、客户端依据接收的打印数据进行预览以及打印。
本发明还支持显示行数、数据的分组字段参数、标题栏是否重复显示等额外属性,可以在最大程度上满足单据的个性化设置。
所述步骤S10具体为:
在服务端上创建一用于存储打印模板的数据库、通过在线编辑器创建复数个打印模板并存储于所述数据库;所述在线编辑器为CKEditor;通过在服务端上创建数据库,避免了客户端程序更新时打印模板被替换,解决了很多CS软件是过文件保存打印定义的文件,在程序更新时经常会被替换的操作错误;通过CKEditor的编辑,可以在线编辑TABLE/TR/TD元素,可以加入图片、DIV等元素,可以根据不同的需求设置字体大小、字体颜色、字体的显示样式,即可以根据不同医院、不同单据设置不同的打印格式并保存至数据库;
所述打印模板至少包括:模板编码、纸张类型、纸张宽度、纸张高度、纸张边距、打印行数、初始化内容、打印的头部内容、打印的中间内容以及打印的尾部内容;所述打印模板中需要替换的数据使用变量来定义,例如:${变量名},这种方式可以很灵活的控制打印的静态变量和动态变量。
所述步骤S20具体为:
在WEB中通过Ajax向服务端发送打印的HTTP请求、业务数据以及模板编码。Ajax即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
由于Ajax的无刷新机制、客户端与服务端的交互采用异步的方式来进行,不影响页面中的其他操作。
所述步骤S30具体为:
服务端依据接收的HTTP请求以及模板编码,从所述数据库中加载对应的打印模板,即依据纸张类型、纸张宽度、纸张高度、纸张边距、打印行数、初始化内容、打印的头部内容、打印的中间内容以及打印的尾部内容加载出打印模板。
所述步骤S40具体包括:
步骤S41、服务端通过模板引擎将所述业务数据更新至对应的打印模板内;所述模板引擎为FreeMarker,是一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。
步骤S42、服务端对更新业务数据的打印模板进行数据的筛选以及组装,并将打印模板的数据拼接成字符串生成打印数据后发送给客户端。
所述步骤S50具体包括:
步骤S51、客户端接收所述打印数据;
步骤S52、客户端将所述打印数据转换为JavaScript语言并进行解析;
步骤S53、客户端对解析后的数据进行预览后打印或者直接进行打印。
综上所述,本发明的优点在于:
1、通过采用JavaScript和HTTP协议进行打印,无需安装加载ActiveX插件,方便程序的部署以及客户端的使用,杜绝了插件带来的各种危害以及拖慢浏览器;且可以扩展到移动端,通过远程访问的方式将打印任务发送到局域网内安装了打印机的PC,实现局域网移动打印。
2、通过创建至少包括模板编码、纸张类型、纸张宽度、纸张高度、纸张边距、打印行数、初始化内容、打印的头部内容、打印的中间内容以及打印的尾部内容的打印模板,实现对单据以及报表进行精细的打印。
3、通过在线编辑器创建打印模板,实现可视化设计打印模板,通过简单的HTML代码的编写就能轻松设计出非常精细的打印模板,使得维护人员和客户可以直接在线修改打印模板,并及时预览效果。
4、打印模板支持丰富的打印元素,如文字、图片、一维条形码以及二维条形码,还支持将多页PDF嵌入打印模板中进行打印。
5、通过在纯WEB环境中运行,支持在IE、Microsoft Edge、FireFox、Chrome、Safari、Opera等主流浏览器上运行、且不依赖于任何第三方JS框架、实现在各种运行环境下都可以良好运行,且支持任何语言开发的B/S系统。
6、使用简单,客户端使用JavaScript通过post提交数据到服务端,服务端把打印所数据组装成json文件并加载相对应的打印模板,其他与打印格式相关的工作不需要每次打印重复设置。
7、通过打印内容以HTML片段和URL两种方式传入、支持在HTML片段中嵌入CSS,支持在URL中嵌入JavaScript和CSS,使得打印方式更加友好。
8、灵活配置的任务:基于任务的打印选项、支持对不同任务指定不同的打印机、纸张大小、页边距等选项,若未对打印的页面进行设置则默认取数据库中的页面属性,避免用户每次打印时都要设置相应的打印选项。
9、解决了系统中的”套打单据”的业务场景,通过HTML的定位与背景图方案精确定位元素的显示位置。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (4)
1.一种基于WEB进行在线设计与预览的打印方法,其特征在于:包括如下步骤:
步骤S10、在服务端上创建一用于存储打印模板的数据库、通过在线编辑器创建复数个打印模板并存储于所述数据库;
所述打印模板至少包括:模板编码、纸张类型、纸张宽度、纸张高度、纸张边距、打印行数、初始化内容、打印的头部内容、打印的中间内容以及打印的尾部内容;所述打印模板中需要替换的数据使用变量来定义;
步骤S20、在WEB中通过Ajax向服务端发送打印的HTTP请求、业务数据以及模板编码;
步骤S30、服务端依据接收的HTTP请求以及模板编码加载对应的打印模板;
步骤S40、服务端通过模板引擎将所述业务数据更新至对应的打印模板内并生成打印数据,并将所述打印数据发送给客户端;
步骤S50、客户端依据接收的打印数据进行预览以及打印。
2.如权利要求1所述的一种基于WEB进行在线设计与预览的打印方法,其特征在于:所述步骤S30具体为:
服务端依据接收的HTTP请求以及模板编码,从所述数据库中加载对应的打印模板。
3.如权利要求1所述的一种基于WEB进行在线设计与预览的打印方法,其特征在于:所述步骤S40具体包括:
步骤S41、服务端通过模板引擎将所述业务数据更新至对应的打印模板内;
步骤S42、服务端对更新业务数据的打印模板进行数据的筛选以及组装,并将打印模板的数据拼接成字符串生成打印数据后发送给客户端。
4.如权利要求1所述的一种基于WEB进行在线设计与预览的打印方法,其特征在于:所述步骤S50具体包括:
步骤S51、客户端接收所述打印数据;
步骤S52、客户端将所述打印数据转换为JavaScript语言并进行解析;
步骤S53、客户端对解析后的数据进行预览后打印或者直接进行打印。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910918042.6A CN110865775B (zh) | 2019-09-26 | 2019-09-26 | 一种基于web进行在线设计与预览的打印方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910918042.6A CN110865775B (zh) | 2019-09-26 | 2019-09-26 | 一种基于web进行在线设计与预览的打印方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110865775A CN110865775A (zh) | 2020-03-06 |
CN110865775B true CN110865775B (zh) | 2022-05-17 |
Family
ID=69652795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910918042.6A Active CN110865775B (zh) | 2019-09-26 | 2019-09-26 | 一种基于web进行在线设计与预览的打印方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110865775B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111756799B (zh) * | 2020-05-20 | 2023-04-07 | 拉扎斯网络科技(上海)有限公司 | 一种打印信息的处理方法及装置 |
CN112328188A (zh) * | 2020-11-13 | 2021-02-05 | 四川爱联科技股份有限公司 | 一种基于BarTender的条码标签打印系统及方法 |
CN112596688A (zh) * | 2020-12-25 | 2021-04-02 | 百卓网络科技有限公司 | 一种基于TinyMCE富文本的web端自定义打印方法 |
CN113129100A (zh) * | 2021-04-12 | 2021-07-16 | 杭州祖米科技有限公司 | 一种web端服饰个性化设计系统及方法 |
CN113138730A (zh) * | 2021-04-23 | 2021-07-20 | 上海中通吉网络技术有限公司 | 基于css规则的电子模板在多设备间的传输方法 |
CN113238721B (zh) * | 2021-05-11 | 2022-10-04 | 浪潮软件股份有限公司 | 一种统一政务服务的office模板打印方法 |
CN116719493A (zh) * | 2023-08-02 | 2023-09-08 | 南京掌控网络科技有限公司 | 基于web浏览器的前端打印方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477449A (zh) * | 2009-01-20 | 2009-07-08 | 北京展鹏电子技术有限公司 | 打印管理系统及打印管理方法 |
CN104714766A (zh) * | 2015-03-12 | 2015-06-17 | 福建工程学院 | 一种web报表浏览器中直接打印的方法 |
CN106528006A (zh) * | 2015-09-10 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种页面打印方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009038526A (ja) * | 2007-07-31 | 2009-02-19 | Ricoh Co Ltd | 印刷サーバ装置 |
-
2019
- 2019-09-26 CN CN201910918042.6A patent/CN110865775B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477449A (zh) * | 2009-01-20 | 2009-07-08 | 北京展鹏电子技术有限公司 | 打印管理系统及打印管理方法 |
CN104714766A (zh) * | 2015-03-12 | 2015-06-17 | 福建工程学院 | 一种web报表浏览器中直接打印的方法 |
CN106528006A (zh) * | 2015-09-10 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种页面打印方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110865775A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110865775B (zh) | 一种基于web进行在线设计与预览的打印方法 | |
US9600463B2 (en) | XML printer system | |
US7917850B2 (en) | Document managing system and method thereof | |
US8972854B2 (en) | Graphical creation of a document conversion template | |
US7407102B2 (en) | XML printer system | |
JP4344693B2 (ja) | ブラウザの文書編集のためのシステムおよびその方法 | |
US6655593B2 (en) | Native XML printer | |
EP2482198B1 (en) | System and method for identifying line breaks | |
US7434160B2 (en) | PDF document to PPML template translation | |
US7959083B2 (en) | XML printer system | |
CN102360274A (zh) | 一种可变数据打印的模板实现装置及其应用方法 | |
US8582164B2 (en) | Generating merged documents | |
CN109343804A (zh) | 一种打印模板的方法 | |
CN106055289A (zh) | 一种自定义税务申报表打印工具 | |
CN115309476A (zh) | 一种基于浏览器的ofd文件显示和编辑方法 | |
KR101508075B1 (ko) | 정보 처리 장치, 웹브라우저 제어 방법 및 그 프로그램을 저장한 저장 매체 | |
JP2001306550A (ja) | 表示情報処理装置 | |
Hauser et al. | SAP interactive forms by Adobe | |
CN113138730A (zh) | 基于css规则的电子模板在多设备间的传输方法 | |
CN117971138A (zh) | 一种打印控制方法及系统 | |
JP2002358190A (ja) | Web画面作成用プログラム及びWeb画面作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |