CN113360106B - 一种网页打印方法和装置 - Google Patents
一种网页打印方法和装置 Download PDFInfo
- Publication number
- CN113360106B CN113360106B CN202110737463.6A CN202110737463A CN113360106B CN 113360106 B CN113360106 B CN 113360106B CN 202110737463 A CN202110737463 A CN 202110737463A CN 113360106 B CN113360106 B CN 113360106B
- Authority
- CN
- China
- Prior art keywords
- printing
- webpage
- style
- container
- 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
-
- 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/1208—Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
-
- 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/1244—Job translation or job parsing, e.g. page banding
- G06F3/1246—Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
-
- 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/1253—Configuration of print job parameters, e.g. using UI at the client
-
- 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/1253—Configuration of print job parameters, e.g. using UI at the client
- G06F3/1256—User feedback, e.g. print preview, test print, proofing, pre-flight checks
Abstract
本发明公开了一种网页打印方法和装置,涉及移动互联技术领域。该方法的一具体实施方式包括:接收用户的打印指令,根据打印指令所含的网页元素标识,在网页中查找对应的网页元素;创建打印容器,在打印容器中进行打印配置,打印配置包括样式配置;将查找到的网页元素添加到打印容器中,以基于打印容器对网页进行打印。该实施方式添加个性化打印样式,为用户提供个性化打印需求,提升用户的网页打印体验,且能够实现局部打印,并保证网页打印样式不失真。
Description
技术领域
本发明涉及移动互联技术领域,尤其涉及一种网页打印方法和装置。
背景技术
目前网页打印的方案为通过浏览器自带的打印功能进行打印,即在浏览器网页中点击右键,选择“打印”实现网页,没有办法添加个性化打印样式,且打印的是整个网页,打印后样式可能失真,例如网页原图有背景图,而打印后背景图消失了。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
不能添加个性化打印样式,无法实现局部打印,网页打印样式失真。
发明内容
有鉴于此,本发明实施例提供一种网页打印方法和装置,可以添加个性化打印样式,为用户提供个性化打印需求,提升用户的网页打印体验,且能够实现局部打印,保证网页打印样式不失真。
为实现上述目的,根据本发明实施例的一个方面,提供了一种网页打印方法。
一种网页打印方法,包括:接收用户的打印指令,根据所述打印指令所含的网页元素标识,在网页中查找对应的网页元素;创建打印容器,在所述打印容器中进行打印配置,所述打印配置包括样式配置;将查找到的所述网页元素添加到所述打印容器中,以基于所述打印容器,对所述网页进行打印。
可选地,通过打印控件接收所述用户的打印指令,所述打印指令所含的网页元素标识是从所述用户在网页标签的标识属性设置中得到的,所述网页元素标识唯一地标识网页元素。
可选地,所述创建打印容器之前,包括:识别打印类型,并确定所述打印类型为局部打印。
可选地,所述识别打印类型,包括:判断所述打印指令所含的网页元素标识是否为文档主体元素标识;若是,则所述打印类型为全部打印;若否,则通过查找所述打印指令所含的网页元素标识对应的网页元素,来判断所述打印类型。
可选地,所述通过查找所述打印指令所含的网页元素标识对应的网页元素,来判断所述打印类型,包括:若查找到所述打印指令所含的网页元素标识对应的网页元素,则所述打印类型为局部打印,否则,所述打印类型为全部打印。
可选地,所述创建打印容器,包括:创建iframe元素,将所述iframe元素插入到所述网页的文档主体元素标签内;将所述iframe元素的显示方式配置为不在所述网页上显示。
可选地,将所述iframe元素的布局方式配置为绝对定位,且将所述iframe元素的宽度和高度均配置为0,以将所述iframe元素的显示方式配置为不在所述网页上显示。
可选地,所述在所述打印容器中进行打印配置,包括配置所述打印容器的文档类型和标题,其中,所述配置所述打印容器的文档类型,包括:获取所述网页的文档类型,所述文档类型为HTML、XHTML的各版本文档类型的一种;将所述打印容器的文档类型配置为所述网页的文档类型。
可选地,在所述打印容器中进行所述样式配置,包括:获取所述网页的外联样式或页面级样式,并将获取的所述网页的外联样式或页面级样式添加到所述打印容器;将用户设置的个性化样式,添加到所述打印容器,所述个性化样式包括页边距、字体、字号、背景图片中的一种或多种,其中,所述个性化样式使用外联样式或页面级样式。
可选地,所述将查找到的所述网页元素添加到所述打印容器中,包括:对查找到的所述网页元素中的表单元素进行处理,其中,所述表单元素用于用户交互操作,所述表单元素包括输入框、单选框、多选框、下拉选择框和文本输入框中的一种或多种;将进行表单元素处理后的所述网页元素添加到所述打印容器中。
可选地,所述对查找到的所述网页元素中的表单元素进行处理,包括:获取查找到的所述网页元素的所有表单标签,所述表单标签包括所述用户交互操作的记录;根据所述表单标签,对所述网页元素中的表单标签元素进行处理,所述表单标签元素包括表单input标签元素、表单textarea标签元素、表单select标签元素中的一种或多种,以记录所述用户交互操作。
可选地,还包括:在所述打印指令执行完成或取消所述打印指令之后,将所述打印容器移除。
根据本发明实施例的另一方面,提供了一种网页打印装置。
一种网页打印装置,包括:网页元素查找模块,用于接收用户的打印指令,根据所述打印指令所含的网页元素标识,在网页中查找对应的网页元素;打印容器创建模块,用于创建打印容器,在所述打印容器中进行打印配置,所述打印配置包括样式配置;网页元素添加模块,用于将查找到的所述网页元素添加到所述打印容器中;打印模块,用于基于所述打印容器,对所述网页进行打印。
可选地,通过打印控件接收所述用户的打印指令,所述打印指令所含的网页元素标识是从所述用户在网页标签的标识属性设置中得到的,所述网页元素标识唯一地标识网页元素。
可选地,还包括打印类型识别模块,用于:识别打印类型,并确定所述打印类型为局部打印。
可选地,所述打印类型识别模块还用于:判断所述打印指令所含的网页元素标识是否为文档主体元素标识;若是,则所述打印类型为全部打印;若否,则通过查找所述打印指令所含的网页元素标识对应的网页元素,来判断所述打印类型。
可选地,所述打印类型识别模块还用于:若查找到所述打印指令所含的网页元素标识对应的网页元素,则所述打印类型为局部打印,否则,所述打印类型为全部打印。
可选地,所述打印容器创建模块还用于:创建iframe元素,将所述iframe元素插入到所述网页的文档主体元素标签内;将所述iframe元素的显示方式配置为不在所述网页上显示。
可选地,将所述iframe元素的布局方式配置为绝对定位,且将所述iframe元素的宽度和高度均配置为0,以将所述iframe元素的显示方式配置为不在所述网页上显示。
可选地,所述在所述打印容器中进行打印配置,包括配置所述打印容器的文档类型和标题,其中,所述打印容器创建模块还用于:获取所述网页的文档类型,所述文档类型为HTML、XHTML的各版本文档类型的一种;将所述打印容器的文档类型配置为所述网页的文档类型。
可选地,所述打印容器创建模块还用于:获取所述网页的外联样式或页面级样式,并将获取的所述网页的外联样式或页面级样式添加到所述打印容器;将用户设置的个性化样式,添加到所述打印容器,所述个性化样式包括页边距、字体、字号、背景图片中的一种或多种,其中,所述个性化样式使用外联样式或页面级样式。
可选地,所述网页元素添加模块还用于:对查找到的所述网页元素中的表单元素进行处理,其中,所述表单元素用于用户交互操作,所述表单元素包括输入框、单选框、多选框、下拉选择框和文本输入框中的一种或多种;将进行表单元素处理后的所述网页元素添加到所述打印容器中。
可选地,所述网页元素添加模块还用于:获取查找到的所述网页元素的所有表单标签,所述表单标签包括所述用户交互操作的记录;根据所述表单标签,对所述网页元素中的表单标签元素进行处理,所述表单标签元素包括表单input标签元素、表单textarea标签元素、表单select标签元素中的一种或多种,以记录所述用户交互操作。
可选地,还包括打印容器移除模块,用于:在所述打印指令执行完成或取消所述打印指令之后,将所述打印容器移除。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明实施例所提供的网页打印方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的网页打印方法。
上述发明中的一个实施例具有如下优点或有益效果:接收用户的打印指令,根据打印指令所含的网页元素标识,在网页中查找对应的网页元素;创建打印容器,在打印容器中进行打印配置,打印配置包括样式配置;将查找到的网页元素添加到打印容器中,以基于打印容器对网页进行打印。可以添加个性化打印样式,为用户提供个性化打印需求,提升用户的网页打印体验,且能够实现局部打印,保证网页打印样式不失真。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明一个实施例的网页打印方法的主要步骤示意图;
图2是根据本发明一个实施例的识别打印类型的流程示意图;
图3是根据本发明一个实施例的局部打印的流程示意图;
图4是根据本发明一个实施例的配置打印容器标题的示意图;
图5是根据本发明一个实施例的表单元素的操作前的示意图;
图6是根据本发明一个实施例的表单元素的操作后的示意图;
图7是根据本发明一个实施例的表单元素的打印示意图;
图8是根据本发明一个实施例的处理表单input标签元素的流程示意图;
图9是根据本发明一个实施例的网页打印装置的主要模块示意图;
图10是本发明实施例可以应用于其中的示例性系统架构图;
图11是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,本发明一个实施例的网页打印方法主要包括如下的步骤S101至步骤S103。
步骤S101:接收用户的打印指令,根据打印指令所含的网页元素标识,在网页中查找对应的网页元素。
可以通过打印控件接收用户的打印指令,打印指令所含的网页元素标识是从用户在网页标签的标识属性设置中得到的,网页元素标识唯一地标识网页元素。
创建打印容器之前,可以包括:识别打印类型,并确定打印类型为局部打印。
识别打印类型,可以包括:判断打印指令所含的网页元素标识是否为文档主体元素标识;若是,则打印类型为全部打印;若否,通过查找打印指令所含的网页元素标识对应的网页元素,来判断打印类型。
通过查找打印指令所含的网页元素标识对应的网页元素,来判断打印类型包括:若查找到打印指令所含的网页元素标识对应的网页元素,则打印类型为局部打印,否则,打印类型为全部打印。
步骤S102:创建打印容器,在打印容器中进行打印配置,打印配置包括样式配置。
创建打印容器,可以包括:创建iframe元素,将iframe元素插入到网页的文档主体元素标签内;将iframe元素的显示方式配置为不在网页上显示。
将iframe元素的布局方式配置可以为绝对定位,且将iframe元素的宽度和高度均配置为0,以将iframe元素的显示方式配置为不在网页上显示。
iframe是一个网页标签,本发明实施例利用其可创建一个容器。
在打印容器中进行打印配置,可以包括配置打印容器的文档类型和标题,其中,配置打印容器的文档类型,可以包括:获取网页的文档类型,文档类型为HTML、XHTML的各版本文档类型的一种;将打印容器的文档类型配置为获取的网页的文档类型。
在打印容器中进行样式配置,可以包括:获取网页的外联样式或页面级样式,并将获取的网页的外联样式或页面级样式添加到打印容器;将用户设置的个性化样式,添加到打印容器,个性化样式可以包括页边距、字体、字号、背景图片中的一种或多种,其中,个性化样式可使用外联样式或页面级样式。
步骤S103:将查找到的网页元素添加到打印容器中,以基于打印容器对网页进行打印。
将查找到的网页元素添加到打印容器中,可以包括:对查找到的网页元素中的表单元素进行处理,其中,表单元素用于用户交互操作,表单元素包括输入框、单选框、多选框、下拉选择框和文本输入框中的一种或多种;将进行表单元素处理后的网页元素添加到打印容器中。
对查找到的网页元素中的表单元素进行处理,可以包括:获取查找到的网页元素的所有表单标签,表单标签包括用户交互操作的记录;根据表单标签,对网页元素中的表单标签元素进行处理,表单标签元素包括表单input标签元素、表单textarea标签元素、表单select标签元素中的一种或多种,以记录用户交互操作。
在打印指令执行完成或取消打印指令之后,可以将打印容器移除。
图2是根据本发明一个实施例的识别打印类型的流程示意图。
如图2所示,接收用户的打印指令,根据打印指令所含的网页元素标识,在网页中查找对应的网页元素,通过判断打印指令所含的网页元素标识是否为文档主体元素标识来识别打印类型。若打印指令所含的网页元素标识为文档主体元素标识,则打印类型为全部打印;若打印指令所含的网页元素标识不为文档主体元素标识,则判断根据打印指令所含的网页元素标识,是否查找到对应的网页元素,若是,则打印类型为局部打印,否则,打印类型为全部打印。具体地,用户在浏览器页面上点击“打印”按钮(即打印控件),“打印”按钮的函数接收待打印的页面元素的id(即网页元素标识,或称网页元素id),通过JavaScript代码获取待打印网页元素id。判断待打印的页面元素的id是否为在body标签设置的id(即文档主体元素标识),若是,则打印类型为全部打印,例如,在body标签上设置id为“test”,打印按钮的参数配置为“test”,因为body就表示整个页面,此时则打印整个页面;若否,则根据待打印的页面元素的id查找网页上是否有该待打印的页面元素,若是,则打印类型为局部打印,若否,则打印类型为全部打印。在确定打印类型为全部打印之后,直接调用浏览器自带的打印方法(如window.print())打印整个网页页面(即执行网页整体打印)。标签上有很多属性,其中包括id属性(即标识属性),可以对网页元素添加id属性,id值在页面html文档中需要具有唯一性,以保证根据网页元素id查找页面元素的准确性。
图3是根据本发明一个实施例的局部打印的流程示意图。
如图3所示,在确定局部打印之后,局部打印的流程包括创建打印容器,配置文档类型,配置打印容器标题,获取原网页样式并添加到打印容器,添加个性化样式并添加到打印容器,获取待打印局部页面元素并添加到打印容器,打印局部页面内容,执行打印完成操作指令。
在创建打印容器时,创建iframe元素,将iframe元素插入到网页的文档主体元素标签内;将iframe元素的布局方式配置为绝对定位,且将iframe元素的宽度和高度均配置为0,以将iframe元素的显示方式配置为不在网页上显示。具体地,创建iframe元素,其中,iframe元素会创建包含一个文档的内联框架,iframe包括head标签和body标签。创建的iframe元素插入到网页body标签(即文档主体元素标签)内;将iframe的布局方式配置为绝对定位(即absolute),iframe的宽度和高度都配置为0,即不在网页上显示iframe,其中,本发明实施例中不使用iframe的id属性和src属性,可以将iframe的id属性和src属性都配置为随机字符串。
在打印容器中进行打印配置,包括配置打印容器的文档类型和标题。配置打印容器的文档类型可以通过获取网页的文档类型,将打印容器的文档类型配置为该网页的文档类型,即打印容器的文档类型需要和待打印网页的文档类型保持一致。其中,文档类型(即<!DOCTYPE>)的配置可以利于浏览器正确显示网页,配置打印容器的文档类型有利于浏览器正确展示打印容器内的内容,文档类型为HTML、XHTML的各版本文档类型的一种,如HTML5、HTML4.01和XHTML 1.0等。
图4是根据本发明一个实施例的配置打印容器标题的示意图。
如图4所示,将配置的标题写入到head标签的title标签(即标题标签)中,以对打印容器的标题进行配置。
在打印容器中进行样式配置时,获取网页的外联样式或页面级样式(页面级样式指样式直接写在页面中),并将获取的网页的外联样式或页面级样式添加到打印容器。具体地,获取网页css(Cascading Style Sheets,层叠样式表)样式,并将获取到的网页css样式添加到打印容器。
其中,网页css样式可以分为外联样式和页面级样式,外联样式的示例代码可以为:
<link rel="stylesheet"href="./test.css"type="text/css">
页面级样式的示例代码可以为:
获取网页的外联样式并添加到打印容器时,获取网页的link标签,返回包含一个或多个外联样式信息的数组,<link>标签定义文档与外部资源的关系;遍历数组的每一个元素,若元素的href属性包含“.css”,并且link标签的href属性不是图片,则说明此link标签是一个外联样式。其中,有link标签不能确定外联样式,因为link标签还可能是网站的图标,此时link标签的href属性一个图片,所以需要校验link标签的href属性;将获取的外联样式添加到打印容器的head标签中。获取网页的页面级样式并添加到打印容器时,使用JavaScript代码获取网页的页面级样式(即页面级css样式),返回包含一个或多个页面级样式信息的数组;遍历数组的每一个元素,获取css样式值;将获取到的css样式值拼接生成字符串,使用<style type="text/css">标签进行包裹,并添加到打印容器的head标签中。
在一个实施例中,将用户设置的个性化样式,添加到打印容器,个性化样式包括页边距、字体、字号、背景图片中的一种或多种,其中,个性化样式可以使用外联样式或页面级样式。具体地,用户可以为打印容器配置个性化样式,如待打印页面的上下边距、待打印页面的字体、字号、待打印页面的背景图片等信息,合理配置待打印页面的上下边距可以使打印出的页面更加美观,可以配置待打印页面的背景图片,如背景图片是企业的logo图片(企业徽标图片)等,可以使打印出的页面更具个性;根据用户配置的个性化样式,使用link标签或者style标签添加到打印容器。其中,配置个性化打印页面样式可以使用外联样式,也可以使用页面级样式;使用外联样式配置个性化样式(即个性化css样式)时,将个性化样式通过link文件的形式引入到打印容器中,使用页面级样式配置个性化样式时,通过配置css样式字符串,并使用style标签包裹后添加到打印容容器的head标签中。
在一个实施例中,对查找到的网页元素中的表单元素进行处理,将进行表单元素处理后的网页元素添加到打印容器中,其中,表单元素用于用户交互操作,表单元素包括输入框、单选框、多选框、下拉选择框和文本输入框中的一种或多种。具体地,根据待打印的网页元素id获取待打印页面局部元素,将页面局部元素添加到body标签内,并将body标签添加到打印容器。在获取到的页面元素插入到body标签内前,需要将表单相关标签进行分处理。
其中,页面表单元素通常包括input输入框、radio单选框、checkbox多选框、select下拉选择框、textarea文本输入框等交互元素,页面上的表单元素需要记录用户交互操作后才能添加body标签内,即若不对网页上的表单交互做记录,打印页面上表单的元素内容为用户操作前的显示效果。表单元素的操作前的示意图如图5所示,显示了用户还未对表单进行操作前的效果,表单元素的操作后的示意图如图6所示,显示了用户对表单进行操作后的效果。若不对页面上的表单元素进行记录处理,用户进行页面局部打印后的打印效果如图7所示,图7左侧为打印预览,没有记录表单交互操作,select下拉输入框还是初始值,即选项一,同样,input等输入框的值都是初始值,因此打印内容是失真的,本发明实施例对查找到的网页元素中的表单元素进行处理,将进行表单元素处理后的网页元素添加到打印容器中,可以避免出现失真。
在一个实施例中,对查找到的网页元素中的表单元素进行处理。获取查找到的网页元素的所有表单标签,表单标签包括用户交互操作的记录;根据表单标签,对网页元素中的表单标签元素进行处理,以记录用户交互操作。表单标签元素可以包括表单input标签元素、表单textarea标签元素、表单select标签元素中的一种或多种。其中,input输入框、radio单选框、checkbox多选框通过表单input标签元素记录用户的交互操作,select下拉选择框通过表单select标签元素记录用户的交互操作,textarea文本输入框(富文本输入框,多行输入)通过表单textarea标签元素记录用户的交互操作。
图8是根据本发明一个实施例的处理表单input标签元素的流程示意图。
如图8所示,获取待打印元素中的所有input标签元素,返回包含input标签元素信息的数组,循环遍历每一个元素。若元素的tagName(即标签名)是INPUT,并且元素的type属性是radio(即单选),且元素有checked属性,则将该input元素添加checked属性(表示已选中);若元素的tagName(标签名)是INPUT,并且元素的type属性是radio,且元素没有checked属性,则将该input元素移除checked属性;若元素的tagName是INPUT,并且元素的type属性是checkbox(即复选),且元素有checked属性,则将该input元素添加checked属性;若元素的tagName是INPUT,并且元素的type属性是checkbox,且若元素没有checked属性,则将该input元素移除checked属性;若元素的tagName是INPUT,并且元素的type属性是checkbox和radio的其他值,如text、password等。获取元素的value值并且赋值到input元素的value属性上。
在处理表单textarea标签元素时,获取待打印元素中的所有textarea标签,返回包含textarea标签元素信息的数组。循环遍历每一个元素。获取每个元素的value值,将其赋值到每个textarea标签的html属性上。
在处理表单select标签元素时,获取待打印元素中的所有select标签,返回包含select标签元素信息的数组。循环遍历每一个元素。获取元素的selectedIndex值(即用户选择下拉选择的选项),将select标签元素的第selectedIndex个option标签的selected属性设置为true,其他option标签的select属性设置为false。
在一个实施例中,打印指令执行完成或取消打印指令之后,将打印容器移除。具体地,在打印完成或者用户点击“取消”按钮时取消打印之后,移除打印容器元素,保证网页与打印之前的网页一致。当用户打印完成时执行用户配置的打印完成指令,如提示“已经完成打印,请取走打印内容”等提示信息。
图9是根据本发明一个实施例的网页打印装置的主要模块示意图。
如图9所示,本发明一个实施例的网页打印装置900主要包括:网页元素查找模块901、打印容器创建模块902、网页元素添加模块903、打印模块904。
网页元素查找模块901,用于接收用户的打印指令,根据打印指令所含的网页元素标识,在网页中查找对应的网页元素。
打印容器创建模块902,用于创建打印容器,在打印容器中进行打印配置,打印配置包括样式配置。
网页元素添加模块903,用于将查找到的网页元素添加到打印容器中。
打印模块904,用于基于打印容器对网页进行打印。
在一个实施例中,通过打印控件接收用户的打印指令,打印指令所含的网页元素标识是从用户在网页标签的标识属性设置中得到的,网页元素标识唯一地标识网页元素。
在一个实施例中,还包括打印类型识别模块,用于:识别打印类型,并确定打印类型为局部打印。
在一个实施例中,打印类型识别模块还用于:判断打印指令所含的网页元素标识是否为文档主体元素标识;若是,则打印类型为全部打印;若否,通过查找打印指令所含的网页元素标识对应的网页元素,来判断打印类型。
在一个实施例中,打印类型识别模块还用于:若查找到打印指令所含的网页元素标识对应的网页元素,则打印类型为局部打印,否则,打印类型为全部打印。
在一个实施例中,打印容器创建模块还用于:创建iframe元素,将iframe元素插入到网页的文档主体元素标签内;将iframe元素的显示方式配置为不在网页上显示。
在一个实施例中,将iframe元素的布局方式配置为绝对定位,且将iframe元素的宽度和高度均配置为0,以将iframe元素的显示方式配置为不在网页上显示。
在一个实施例中,在打印容器中进行打印配置,包括配置打印容器的文档类型和标题,其中,打印容器创建模块还用于:获取网页的文档类型,文档类型为HTML、XHTML的各版本文档类型的一种;将打印容器的文档类型配置为网页的文档类型。
在一个实施例中,打印容器创建模块还用于:获取网页的外联样式或页面级样式,并将获取的网页的外联样式或页面级样式添加到打印容器;将用户设置的个性化样式,添加到打印容器,个性化样式包括页边距、字体、字号、背景图片中的一种或多种,其中,个性化样式使用外联样式或页面级样式。
在一个实施例中,网页元素添加模块还用于:对查找到的网页元素中的表单元素进行处理,其中,表单元素用于用户交互操作,表单元素包括输入框、单选框、多选框、下拉选择框和文本输入框中的一种或多种;将进行表单元素处理后的网页元素添加到打印容器中。
在一个实施例中,网页元素添加模块还用于:获取查找到的网页元素的所有表单标签,表单标签包括用户交互操作的记录;根据表单标签,对网页元素中的表单标签元素进行处理,表单标签元素包括表单input标签元素、表单textarea标签元素、表单select标签元素中的一种或多种,以记录用户交互操作。
在一个实施例中,还包括打印容器移除模块,用于:在打印指令执行完成或取消打印指令之后,将打印容器移除。
另外,在本发明实施例中网页打印装置的具体实施内容,在上面网页打印方法中已经详细说明了,故在此重复内容不再说明。
图10示出了可以应用本发明实施例的网页打印方法或网页打印装置的示例性系统架构1000。
如图10所示,系统架构1000可以包括终端设备1001、1002、1003,网络1004和服务器1005。网络1004用以在终端设备1001、1002、1003和服务器1005之间提供通信链路的介质。网络1004可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1001、1002、1003通过网络1004与服务器1005交互,以接收或发送消息等。终端设备1001、1002、1003上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备1001、1002、1003可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器1005可以是提供各种服务的服务器,例如对用户利用终端设备1001、1002、1003所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的网页打印方法一般由服务器1005执行,相应地,网页打印装置一般设置于服务器1005中。
应该理解,图10中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图11,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统1100的结构示意图。图11示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有系统1100操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括网页元素查找模块、打印容器创建模块、网页元素添加模块、打印模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,网页元素查找模块还可以被描述为“用于接收用户的打印指令,根据打印指令所含的网页元素标识,在网页中查找对应的网页元素的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收用户的打印指令,根据打印指令所含的网页元素标识,在网页中查找对应的网页元素;创建打印容器,在打印容器中进行打印配置,打印配置包括样式配置;将查找到的网页元素添加到打印容器中,以基于打印容器对网页进行打印。
根据本发明实施例的技术方案,接收用户的打印指令,根据打印指令所含的网页元素标识,在网页中查找对应的网页元素;创建打印容器,在打印容器中进行打印配置,打印配置包括样式配置;将查找到的网页元素添加到打印容器中,其中,对查找到的网页元素中的表单元素进行处理,表单元素用于用户交互操作,表单元素包括输入框、单选框、多选框、下拉选择框和文本输入框中的一种或多种,将进行表单元素处理后的网页元素添加到打印容器中,以基于打印容器对网页进行打印。能够实现局部打印,保证网页打印样式不失真,可以添加个性化打印样式,为用户提供个性化打印需求,提升用户的网页打印体验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种网页打印方法,其特征在于,包括:
接收用户的打印指令,根据所述打印指令所含的网页元素标识,在网页中查找对应的网页元素;
创建打印容器,在所述打印容器中进行打印配置,所述打印配置包括样式配置;在所述打印容器中进行所述样式配置,包括:将用户设置的个性化样式,添加到所述打印容器,其中,通过外联样式或者页面级样式对所述个性化样式进行配置,在使用外联样式对所述个性化样式进行配置时,通过link文件的形式将所述个性化样式添加至所述打印容器中,在使用页面级样式对所述个性化样式进行配置时,通过配置css样式字符串,并使用style标签包裹后添加至所述打印容器的head标签中;
将查找到的所述网页元素添加到所述打印容器中,以基于所述打印容器,对所述网页进行打印。
2.根据权利要求1所述的方法,其特征在于,通过打印控件接收所述用户的打印指令,所述打印指令所含的网页元素标识是从所述用户在网页标签的标识属性设置中得到的,所述网页元素标识唯一地标识网页元素。
3.根据权利要求1所述的方法,其特征在于,所述创建打印容器之前,包括:
识别打印类型,并确定所述打印类型为局部打印。
4.根据权利要求3所述的方法,其特征在于,所述识别打印类型,包括:
判断所述打印指令所含的网页元素标识是否为文档主体元素标识;
若是,则所述打印类型为全部打印;
若否,则通过查找所述打印指令所含的网页元素标识对应的网页元素,来判断所述打印类型。
5.根据权利要求4所述的方法,其特征在于,所述通过查找所述打印指令所含的网页元素标识对应的网页元素,来判断所述打印类型,包括:
若查找到所述打印指令所含的网页元素标识对应的网页元素,则所述打印类型为局部打印,否则,所述打印类型为全部打印。
6.根据权利要求1所述的方法,其特征在于,所述创建打印容器,包括:
创建iframe元素,将所述iframe元素插入到所述网页的文档主体元素标签内;
将所述iframe元素的显示方式配置为不在所述网页上显示。
7.根据权利要求6所述的方法,其特征在于,将所述iframe元素的布局方式配置为绝对定位,且将所述iframe元素的宽度和高度均配置为0,以将所述iframe元素的显示方式配置为不在所述网页上显示。
8.根据权利要求1所述的方法,其特征在于,所述在所述打印容器中进行打印配置,包括配置所述打印容器的文档类型和标题,其中,所述配置所述打印容器的文档类型,包括:
获取所述网页的文档类型,所述文档类型为HTML、XHTML的各版本文档类型的一种;
将所述打印容器的文档类型配置为所述网页的文档类型。
9.根据权利要求1或8所述的方法,其特征在于,在所述打印容器中进行所述样式配置,包括:
获取所述网页的外联样式或页面级样式,并将获取的所述网页的外联样式或页面级样式添加到所述打印容器;
所述个性化样式包括页边距、字体、字号、背景图片中的一种或多种,其中,所述个性化样式使用外联样式或页面级样式。
10.根据权利要求1所述的方法,其特征在于,所述将查找到的所述网页元素添加到所述打印容器中,包括:
对查找到的所述网页元素中的表单元素进行处理,其中,所述表单元素用于用户交互操作,所述表单元素包括输入框、单选框、多选框、下拉选择框和文本输入框中的一种或多种;
将进行表单元素处理后的所述网页元素添加到所述打印容器中。
11.根据权利要求10所述的方法,其特征在于,所述对查找到的所述网页元素中的表单元素进行处理,包括:
获取查找到的所述网页元素的所有表单标签,所述表单标签包括所述用户交互操作的记录;
根据所述表单标签,对所述网页元素中的表单标签元素进行处理,所述表单标签元素包括表单input标签元素、表单textarea标签元素、表单select标签元素中的一种或多种,以记录所述用户交互操作。
12.根据权利要求1所述的方法,其特征在于,还包括:
在所述打印指令执行完成或取消所述打印指令之后,将所述打印容器移除。
13.一种网页打印装置,其特征在于,包括:
网页元素查找模块,用于接收用户的打印指令,根据所述打印指令所含的网页元素标识,在网页中查找对应的网页元素;
打印容器创建模块,用于创建打印容器,在所述打印容器中进行打印配置,所述打印配置包括样式配置;在所述打印容器中进行所述样式配置,包括:将用户设置的个性化样式,添加到所述打印容器,其中,通过外联样式或者页面级样式对所述个性化样式进行配置,在使用外联样式对所述个性化样式进行配置时,通过link文件的形式将所述个性化样式添加至所述打印容器中,在使用页面级样式对所述个性化样式进行配置时,通过配置css样式字符串,并使用style标签包裹后添加至所述打印容器的head标签中;
网页元素添加模块,用于将查找到的所述网页元素添加到所述打印容器中;
打印模块,用于基于所述打印容器,对所述网页进行打印。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12中任一所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-12中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110737463.6A CN113360106B (zh) | 2021-06-30 | 2021-06-30 | 一种网页打印方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110737463.6A CN113360106B (zh) | 2021-06-30 | 2021-06-30 | 一种网页打印方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360106A CN113360106A (zh) | 2021-09-07 |
CN113360106B true CN113360106B (zh) | 2022-12-09 |
Family
ID=77537518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110737463.6A Active CN113360106B (zh) | 2021-06-30 | 2021-06-30 | 一种网页打印方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360106B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543238B (zh) * | 2022-11-29 | 2023-03-21 | 明度智云(浙江)科技有限公司 | 一种浏览器页面打印方法、装置、设备及存储介质 |
CN116382604B (zh) * | 2023-05-29 | 2023-10-10 | 天翼云科技有限公司 | 一种在网页打印pdf文件的方法、系统、存储介质、设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775511A (zh) * | 2016-12-20 | 2017-05-31 | 珠海赛纳打印科技股份有限公司 | 一种打印方法和装置 |
CN108495192A (zh) * | 2018-03-13 | 2018-09-04 | 武汉斗鱼网络科技有限公司 | 页面编辑处理方法及装置 |
CN109635223A (zh) * | 2018-12-10 | 2019-04-16 | 北京字节跳动网络技术有限公司 | 页面显示方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8023135B2 (en) * | 2008-02-29 | 2011-09-20 | Sharp Laboratories Of America, Inc. | Interface for building a print container |
US20100281351A1 (en) * | 2009-04-29 | 2010-11-04 | Soiba Mohammed | Web print content control using html |
CN104571978B (zh) * | 2015-01-09 | 2017-11-21 | 中科宇图天下科技有限公司 | 一种基于html标签进行文档分页打印的方法 |
CN106371844B (zh) * | 2016-08-31 | 2019-10-22 | 北京奇艺世纪科技有限公司 | 一种用原生用户界面组件展示网页的方法及系统 |
CN110347349A (zh) * | 2019-05-21 | 2019-10-18 | 平安银行股份有限公司 | 浏览器中打印指定内容的方法、装置和计算机设备 |
CN110210455B (zh) * | 2019-06-18 | 2022-03-01 | 石家庄捷弘科技有限公司 | 一种打印内容格式化提取方法 |
CN112650479A (zh) * | 2019-10-10 | 2021-04-13 | 上海哔哩哔哩科技有限公司 | 网页css结构自动生成方法及存储介质 |
CN111506276A (zh) * | 2020-04-21 | 2020-08-07 | 北京易点淘网络技术有限公司 | 打印二维码标签的方法及装置 |
-
2021
- 2021-06-30 CN CN202110737463.6A patent/CN113360106B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775511A (zh) * | 2016-12-20 | 2017-05-31 | 珠海赛纳打印科技股份有限公司 | 一种打印方法和装置 |
CN108495192A (zh) * | 2018-03-13 | 2018-09-04 | 武汉斗鱼网络科技有限公司 | 页面编辑处理方法及装置 |
CN109635223A (zh) * | 2018-12-10 | 2019-04-16 | 北京字节跳动网络技术有限公司 | 页面显示方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113360106A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9880989B1 (en) | Document annotation service | |
CN108710490B (zh) | 一种Web页面的编辑方法和装置 | |
US20150046493A1 (en) | Access and management of entity-augmented content | |
EP3273362A1 (en) | Webpage access method, apparatus, device and non-volatile computer storage medium | |
US10853319B2 (en) | System and method for display of document comparisons on a remote device | |
US7844897B1 (en) | Blog template generation | |
CN113360106B (zh) | 一种网页打印方法和装置 | |
US20150227276A1 (en) | Method and system for providing an interactive user guide on a webpage | |
US10289747B2 (en) | Dynamic file concatenation | |
CN113382083B (zh) | 一种网页截图方法和装置 | |
CN110321504B (zh) | 一种页面处理方法及装置 | |
CN110968314B (zh) | 一种页面生成方法及装置 | |
US8195762B2 (en) | Locating a portion of data on a computer network | |
CN111294395A (zh) | 一种终端页面传输方法、装置、介质和电子设备 | |
US9319480B2 (en) | Managing digital media presented in online digital media store | |
CN104899203B (zh) | 一种网页页面的生成方法、装置及终端设备 | |
CN110750958A (zh) | 一种文本显示方法、装置、电子设备及介质 | |
CN114021042A (zh) | 网页内容的提取方法、装置、计算机设备和存储介质 | |
US11126410B2 (en) | Method and apparatus for building pages, apparatus and non-volatile computer storage medium | |
CN113784194A (zh) | 一种视频播放器的嵌入方法和装置 | |
CN113220381A (zh) | 一种点击数据展示方法和装置 | |
CN108664511B (zh) | 获取网页信息方法和装置 | |
CN110647327A (zh) | 基于卡片的用户界面动态控制的方法和装置 | |
CN110908550B (zh) | 光标悬停状态下的操作处理方法和装置 | |
CN112800078A (zh) | 基于javascript的轻量级文本标注方法、系统、设备及存储介质 |
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 |