CN109343804A - 一种打印模板的方法 - Google Patents

一种打印模板的方法 Download PDF

Info

Publication number
CN109343804A
CN109343804A CN201811135931.7A CN201811135931A CN109343804A CN 109343804 A CN109343804 A CN 109343804A CN 201811135931 A CN201811135931 A CN 201811135931A CN 109343804 A CN109343804 A CN 109343804A
Authority
CN
China
Prior art keywords
file
template
printer
html
format
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
Application number
CN201811135931.7A
Other languages
English (en)
Inventor
蔡龙飞
蒋伟
焦民龙
张佳磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Zhongfu Focus Information Technology Co Ltd
Original Assignee
Jiangsu Zhongfu Focus Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Zhongfu Focus Information Technology Co Ltd filed Critical Jiangsu Zhongfu Focus Information Technology Co Ltd
Priority to CN201811135931.7A priority Critical patent/CN109343804A/zh
Publication of CN109343804A publication Critical patent/CN109343804A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

一种打印模板的方法,编写符合格式的模板文件,编写渲染时使用的样式文件或可将样式内容置于模板文件中;将数据与模板文件输入模板引擎,生成符合浏览器标准的HTML文件;使用浏览器内核渲染HTML文件;将渲染结果输出为打印机可识别的内容格式;将内容传输给打印机进行打印。编写符合格式的模板文件时,通过调用模板引擎,模板引擎输出的文件为HTML文件,通过CSS层叠样式表程序对打印内容的样式进行设定;CSS层叠样式表程序直接写在模板引擎内,或写在单独的样式文件中。

Description

一种打印模板的方法
技术领域
本发明属于计算机技术领域,尤其涉及一种通过打印机打印模板的方法。
背景技术
在计算机应用程序的开发中,特别是管理类应用系统,经常需要使用打印机打印预设格式的信息资料。这就需要开发人员预先设定好打印格式。
现有的设定方式主要分为:1、通过对打印机编程完成设定格式的打印。此种方式开发方式过于底层,且不利于后期维护;2、通过设计界面,生成图像信息,发送给打印机打印。此种方式经常存在打印效果模糊的问题,也不利于报表等数据量较大的情况下使用。
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。用于生成文本(比如HTML)。它的语法和作用和JSP类似,JSP需要依赖Servlet容器(如Tomcat)。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java等。FreeMarker允许Javaservlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。类似FreeMarker的模板引擎还有很多。
FreeMarker同样可以应用于非Web应用程序环境,FreeMarker更适合作为Model2框架(如Struts)的视图组件,可以在模板中使用JSP标记库。在互联网软件内容网站中一般首页的访问量大,为了提供首页的访问效率,一般首页的内容以及其中的新闻等信息都可以实现html静态化浏览器访问时设置浏览器的缓存策略和生成静态页面的周期一致可以使访问效率大大提升,freemarker可同时配合cdn处理图片js css等资源可以在首页访问时理论完全脱离数据库。
此外,CSS层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
发明内容
本发明的目的是,提供一种打印模板的方法,通过编写打印模板,利用模板引擎(尤其是Freemarker模板引擎),得到符合HTML标准的文件,使用浏览器内核(网页浏览器的排版引擎也被称为页面渲染引擎,它负责取得网页的内容(HTML、XML、图象等等)、整理信息(例如加入CSS等),以及计算网页的显示方式然后会输出至显示器或打印机。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要排版引擎。如置于Chrome浏览器之中渲染引擎)渲染出打印机可识别的打印文件送给打印机打印,为应用系统提供便捷的、易于修改、统一接口的模板打印方法。
为了实现上述目的,本发明技术方案如下:
一种打印模板的方法,编写符合格式的模板文件,编写渲染时使用的样式文件或可将样式内容置于模板文件中;
将数据与模板文件输入模板引擎,生成符合浏览器标准的HTML文件;
使用浏览器内核渲染HTML文件;
将渲染结果输出为打印机可识别的内容格式;
进一步的将内容传输给打印机进行打印;
通过调用Freemarker等模板引擎,模板引擎输出的文件为HTML文件,通过CSS层叠样式表程序对打印内容的样式进行设定;CSS层叠样式表程序可直接写在模板引擎内,或写在单独的样式文件中,如.css文件。
S0数据与模板文件输入模板引擎,生成符合浏览器标准的HTML文件;
读取Freemarker模板引擎配置;传入所要输出的数据;
S2输出HTML文件;
S3使用浏览器内核渲染HTML文件;
以Chrome内核为例,具体步骤如下:
调用ChromeHeadless传入HTML文件路径;
S4将渲染结果输出为打印机可识别的内容格式;
接上一步骤,设置参数,输出PDF文件;
S5将内容传输给打印机进行打印;使用Java语言:获取系统指定名称的打印机;创建打印任务;
设置打印机参数;
设置打印文件为上一步得到的PDF文件;
有益效果:本发明克服如下不足:现有的通过底层控制对打印机编程完成设定格式的打印的方法,需要预先编写打印机执行代码,过程繁琐难以编写或修改。直接打印HTML文件,则打印机对于HTML、CSS等规范支持程度不高,无法完全使用某些特性。打印JPG图片,则打印精度较低,画面模糊;利用freemarker等模板引擎同时配合CSS层叠样式表进行文件显示,浏览器内核渲染出打印机可识别的打印文件送给打印机打印。本发明效果:
1.无须对打印机底层进行编码,方案具有通用性,可以适应大多数打印机;
2.能使用HTML5及CSS3等最新规范;
3.通过修改CSS样式,能灵活改变打印内容样式,而不用改变模板结构;
4.打印PDF还原度高;
5.生成的PDF还能作为电子存档保存;
6.可以避免使用打印机直接打印HTML文件时不支持CSS样式或只支持部分CSS样式的问题;
7.通过标准的HTML文件可以比较灵活的定制打印内容。
附图说明
图1为一种打印模板的方法流程图。
具体实施例
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实例不构成对本发明的限定。
本发明的总体思路是在互联网应用系统中,通过使用模板引擎和标准的HTML代码规范,结合浏览器内核高精度的渲染,简化对于打印模板开发的难度和限制。
如图1所示,本实施例这一种打印模板的方法,包括如下步骤:
S0编写符合格式的模板文件,编写渲染时使用的样式文件。或可将样式内容置于模板文件中;
本实施例以Freemarker引擎为例进行说明,模板引擎主要输出的文件为HTML文件。具体的:通过编写Freemarker模板,对打印内容的结构进行设定,通过CSS对打印内容的样式进行设定。CSS可直接写在模板内,也可以单独写在.css文件中。
S1将数据与模板文件输入模板引擎,生成符合浏览器标准的HTML文件;
本实施例中以Java语言为例,具体步骤如下:
读取Freemarker配置;
读入指定模板文件,传入所要输出的数据;
S2输出HTML文件;
S3使用浏览器内核渲染HTML文件;输出的是PDF格式,精度较高,而如果输出PNG等图片,则打印的画面略差;
本实施例中以Chrome内核为例,具体步骤如下:
调用ChromeHeadless传入HTML文件路径;
S4将渲染结果输出为打印机可识别的内容格式;
本实施例中接上一步骤,设置参数
输出PDF文件;
S5进一步的将内容传输给打印机进行打印;
本实施例中使用Java语言,具体步骤如下:
获取系统指定名称的打印机;
创建打印任务;
设置打印机参数;
设置打印文件为上一步得到的PDF文件;
发送打印任务。
模板文件渲染所得的内容或文件是符合HTML标准,适合浏览器解析渲染的文件内容。
使用浏览器内核渲染文件为打印机可识别的文件格式包括但不限于PDF、PNG。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (5)

1.一种打印模板的方法,其特征在于,
采用如下步骤:编写符合格式的模板文件,编写渲染时使用的样式文件或可将样式内容置于模板文件中;将数据与模板文件输入模板引擎,生成符合浏览器标准的HTML文件;
使用浏览器内核渲染HTML文件;
将渲染结果输出为打印机可识别的内容格式;
将内容传输给打印机进行打印。
2.根据权利要求1所述的方法,其特征在于,编写符合格式的模板文件时,通过调用模板引擎,模板引擎输出的文件为HTML文件,通过CSS层叠样式表程序对打印内容的样式进行设定;CSS层叠样式表程序直接写在模板引擎内,或写在单独的样式文件中。
3.根据权利要求1所述的方法,其特征在于,
S0数据与模板文件输入模板引擎,生成符合浏览器标准的HTML文件;
读取Freemarker模板引擎配置;传入所要输出的数据;
S2输出HTML文件;
S3使用浏览器内核渲染HTML文件;
以Chrome内核为例,具体步骤如下:
调用ChromeHeadless传入HTML文件路径;
S4将渲染结果输出为打印机可识别的内容格式;
接上一步骤,设置参数,输出PDF文件;
S5将内容传输给打印机进行打印;使用Java语言:获取系统指定名称的打印机;创建打印任务;
设置打印机参数;
设置打印文件为上一步得到的PDF文件。
4.根据权利要求1所述的方法,其特征在于,模板文件渲染所得的内容或文件是符合HTML标准,适合浏览器解析渲染的文件内容。
5.根据权利要求1所述的方法,其特征在于,使用浏览器内核渲染文件为打印机可识别的文件格式包括但不限于PDF、PNG格式。
CN201811135931.7A 2018-09-28 2018-09-28 一种打印模板的方法 Pending CN109343804A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811135931.7A CN109343804A (zh) 2018-09-28 2018-09-28 一种打印模板的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811135931.7A CN109343804A (zh) 2018-09-28 2018-09-28 一种打印模板的方法

Publications (1)

Publication Number Publication Date
CN109343804A true CN109343804A (zh) 2019-02-15

Family

ID=65307084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811135931.7A Pending CN109343804A (zh) 2018-09-28 2018-09-28 一种打印模板的方法

Country Status (1)

Country Link
CN (1) CN109343804A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851092A (zh) * 2019-11-15 2020-02-28 厦门商集网络科技有限责任公司 一种b/s构架下基于打印模板的自定义打印方法和系统
CN111045615A (zh) * 2019-12-19 2020-04-21 厦门商集网络科技有限责任公司 一种在浏览器端自定义js模板的打印方法及系统
CN111142815A (zh) * 2019-12-26 2020-05-12 杭州涂鸦信息技术有限公司 基于b/s的标签打印系统
CN112000302A (zh) * 2020-08-25 2020-11-27 上海合阔信息技术有限公司 一种标签生成方法、模板配置方法、装置及存储介质
CN112486436A (zh) * 2020-12-18 2021-03-12 上海中通吉网络技术有限公司 Html动态填充数据打印指令生成方法、系统和打印机
CN112506450A (zh) * 2020-12-08 2021-03-16 杭州贝嘟科技有限公司 水洗唛的生成方法、装置、电子装置和存储介质
CN113238720A (zh) * 2021-03-30 2021-08-10 紫光云技术有限公司 一种无需插件在页面直接打印pdf文件的实现方法
CN116719493A (zh) * 2023-08-02 2023-09-08 南京掌控网络科技有限公司 基于web浏览器的前端打印方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104571977A (zh) * 2014-12-05 2015-04-29 北京赛德高科铁道电气科技有限责任公司 基于html模板的报表打印方法及系统
CN104714766A (zh) * 2015-03-12 2015-06-17 福建工程学院 一种web报表浏览器中直接打印的方法
CN106844643A (zh) * 2017-01-13 2017-06-13 王洋 一种基于模板引擎的数据库动态生成方法
US20170230526A1 (en) * 2016-02-05 2017-08-10 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104571977A (zh) * 2014-12-05 2015-04-29 北京赛德高科铁道电气科技有限责任公司 基于html模板的报表打印方法及系统
CN104714766A (zh) * 2015-03-12 2015-06-17 福建工程学院 一种web报表浏览器中直接打印的方法
US20170230526A1 (en) * 2016-02-05 2017-08-10 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
CN106844643A (zh) * 2017-01-13 2017-06-13 王洋 一种基于模板引擎的数据库动态生成方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851092A (zh) * 2019-11-15 2020-02-28 厦门商集网络科技有限责任公司 一种b/s构架下基于打印模板的自定义打印方法和系统
CN111045615A (zh) * 2019-12-19 2020-04-21 厦门商集网络科技有限责任公司 一种在浏览器端自定义js模板的打印方法及系统
CN111142815A (zh) * 2019-12-26 2020-05-12 杭州涂鸦信息技术有限公司 基于b/s的标签打印系统
CN111142815B (zh) * 2019-12-26 2023-07-14 杭州涂鸦信息技术有限公司 基于b/s的标签打印系统
CN112000302A (zh) * 2020-08-25 2020-11-27 上海合阔信息技术有限公司 一种标签生成方法、模板配置方法、装置及存储介质
CN112506450A (zh) * 2020-12-08 2021-03-16 杭州贝嘟科技有限公司 水洗唛的生成方法、装置、电子装置和存储介质
CN112486436A (zh) * 2020-12-18 2021-03-12 上海中通吉网络技术有限公司 Html动态填充数据打印指令生成方法、系统和打印机
CN113238720A (zh) * 2021-03-30 2021-08-10 紫光云技术有限公司 一种无需插件在页面直接打印pdf文件的实现方法
CN116719493A (zh) * 2023-08-02 2023-09-08 南京掌控网络科技有限公司 基于web浏览器的前端打印方法及装置

Similar Documents

Publication Publication Date Title
CN109343804A (zh) 一种打印模板的方法
EP1538534A2 (en) Generation of a PPML template from a PDF document
US7783967B1 (en) Packaging web content for reuse
CN110865775B (zh) 一种基于web进行在线设计与预览的打印方法
GB2425634A (en) Variable data printing
KR20110088521A (ko) 프로그램 스크립팅 언어를 이용하는 라벨 프린터 api
CN106886551A (zh) 一种利用标记语言显示图像的方法及装置
US20050125724A1 (en) PPML to PDF conversion
CN107015959A (zh) 一种对pdf文件合版的方法
CN115309476A (zh) 一种基于浏览器的ofd文件显示和编辑方法
Phelps Multivalent documents: anytime, anywhere, any type, every way user-improvable digital documents and systems
Signer et al. Advanced authoring of paper-digital systems: Introducing templates and variable content elements for interactive paper publishing
KR20130105509A (ko) 전자책 제공 방법 및 장치
Clow et al. Angular and ui widgets
KR20080004011A (ko) 마크업 문서를 기록한 정보저장매체, 마크업 문서 처리방법 및 장치
Sundar et al. Content Management System and Automation of Model Cloning Scalable EAV Model in GNEISYS Framework
JP2015022454A (ja) 電子書籍の制作方法
JP2014203379A (ja) 電子ドキュメント作成システム及び表示システム
Xueya et al. The research and application of the creation PDF document based on the iTextSharp
JP2013161375A (ja) 編集システム
Götz et al. Formatting print layouts with CSS3
JP2004110733A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
Plaice et al. A multidimensional approach to typesetting
CN113138730A (zh) 基于css规则的电子模板在多设备间的传输方法
CN117075826A (zh) 一种用于浏览器在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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 215506 ZD-017, Negative First Floor, 8 Fashion Square, North Shangcheng Road, Changshu City, Suzhou City, Jiangsu Province

Applicant after: Jiangsu Zhongfu Focus Cross-border Trade Service Co.,Ltd.

Address before: 215506 ZD-017, Negative First Floor, 8 Fashion Square, North Shangcheng Road, Changshu City, Suzhou City, Jiangsu Province

Applicant before: JIANGSU ZHONGFU FOCUS INFORMATION TECHNOLOGY Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190215