一种基于html标签进行文档分页打印的方法

文档序号:8257858阅读:929来源:国知局
一种基于html标签进行文档分页打印的方法
【技术领域】
[0001]本发明涉及移动执法文档打印技术领域,尤其涉及一种基于HTML标签进行文档分页打印的方法。
【背景技术】
[0002]执法人员进行现场执法的过程中,需要根据现场执法情况进行笔录,并将笔录内容保存在移动端的本地,然后可以将移动端连接打印机,将该内容打印出来,作为归档或者立案证据。
[0003]目前,一般将现场执法情况的笔录内容保存在HTML页面中,通过设定每个HTML页面的高度和行数,以及每行的字数,将笔录内容保存在一页或多页HTML页面中。具体为,如果现场执法情况的字符数小于一页能够容纳的字符数,则笔录内容会显示在一页;如果笔录内容的字符数大于一页能够容纳的字符数,则前一页填充的内容满足设定的高度、行数和每行的字数后,继续在后一页填充,从而实现分页。
[0004]但是,由于现场执法笔录内容是根据现场执法的实际情况进行填写的,所以对字数的多少或字符的类型没有规定和限制,在同一份执法笔录中,可能会涉及多种不同类型的字符,而由于不同类型的字符的占位大小不同,所以,采用上述方法,按照设定好的页面高度、行数和字数,满足条件后进行分页,分页时如果打印文本中包含较多的数字或字符,那么每行还按固定的字数计算,就会出现一行无法填满的情况,导致排在前面的页面中某些位置处出现空白,不显示字符,从而导致分页打印后的文件不整齐。

【发明内容】

[0005]本发明的目的在于提供一种基于HTML标签进行文档分页打印的方法,从而解决现有技术中存在的前述问题。
[0006]为了实现上述目的,本发明采用的技术方案如下:
[0007]一种基于HTML标签进行文档分页打印的方法,包括如下步骤:
[0008]SI,将待打印文档的内容填充到HTML标签中;
[0009]S2,在每个分页页面中设置分页容器,根据每个分页页面中能够显示的HTML标签的高度,设置所述分页容器的高度,且所述分页容器的高度与所述分页页面中能够显示的HTML标签的高度相同;
[0010]S3,设置每个分页页面中的所述分页容器的OverFlow属性和Posit1n属性;
[0011]S4,根据所述分页容器的OverFlow属性和Posit1n属性,将所述HTML标签填充到所有的所述分页页面中。
[0012]进一步地,SI之后,还包括步骤,计算所述HTML标签的高度。
[0013]更进一步地,S3和S4之间,还包括步骤,根据所述HTML标签的高度和所述分页容器的高度,计算所述分页页面的数量。
[0014]其中,所述根据所述HTML标签的高度和所述分页容器的高度,计算所述分页页面的数量,具体包括如下步骤:
[0015]比较所述HTML标签的高度与第一页分页页面中的所述分页容器的高度,如果所述HTML标签的高度小于第一页分页页面中的所述分页容器的高度,则所述分页页面的数量为I ;如果所述HTML标签的高度大于第一页分页页面中的所述分页容器的高度,则计算所述分页页面的数量。
[0016]其中,所述如果所述HTML标签的高度大于第一页分页页面中的所述分页容器的高度,则计算所述分页页面的数量,具体为,如果所有的所述分页页面中的分页容器的高度均相等,则利用所述HTML标签的高度除以一个所述分页容器的高度,即可得到所述分页页面的数量;如果所述分页页面中的分页容器的高度不相等,则从第一页分页页面的分页容器开始,计算出分页页面的数量。
[0017]具体地,对于执法文书的HTML文档的分页打印,所述分页容器的高度,采用如下方法获得:
[0018]获取所述分页容器所在分页页面的高度;
[0019]获取所述分页页面中固定模板的高度;
[0020]利用所述分页页面的高度减去所述固定模板的高度,得到所述分页容器的高度。
[0021]优选地,所述分页页面的高度为A4打印纸的高度。
[0022]优选地,第一页分页页面中的固定模板包括顶部固定模板和底部固定模板;第二页至第η页分页页面中的固定模板为底部固定模板。
[0023]优选地,所述HTML标签为TR、TD或div。
[0024]优选地,所述分页容器为div。
[0025]本发明的有益效果是:本发明实施例提供的基于HTML标签进行文档分页打印的方法,首先将笔录内容填充到HTML标签中,将笔录内容完整的显示在HTML页面中,然后,通过计算分页页面中能够填充内容的分页容器的高度,设置分页容器的隐藏属性和位置属性,从而在每个分页页面的分页容器中显示相应的HTML标签的部分内容,而将其他内容进行隐藏,从而通过利用HTML标签的隐藏属性实现了对笔录内容的分页打印,并且将每个分页页面均填充满,使分页页面更加美观,而不会出现空白的情况,解决了现有技术中分页打印文件不整齐的问题。
【附图说明】
[0026]图1是本发明实施例提供的基于HTML标签进行文档分页打印的方法的流程示意图。
【具体实施方式】
[0027]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的【具体实施方式】仅仅用以解释本发明,并不用于限定本发明。
[0028]如图1所示,本发明实施例提供了一种基于HTML标签进行文档分页打印的方法,包括如下步骤:
[0029]SI,将待打印文档的内容填充到HTML标签中。在实际操作时,为了能够在一个HTML页面中显示完整的待打印文档,设置HTML标签的属性为不隐藏,使能够显示完整的待打印文档,而不会只显示一部分,隐藏一部分。
[0030]对于执法文书而言,本申请中,待打印文档为根据执法现场情况生成的笔录内容。而执法文书中的顶部固定模板和底部固定模板均为模板设置好的,也可以直接显示在HTML页面中。
[0031]S2,在每个分页页面中设置分页容器,根据每个分页页面中能够显示的HTML标签的高度,设置所述分页容器的高度,且所述分页容器的高度与所述分页页面中能够显示的HTML标签的高度相同;。
[0032]本发明中,由于分页页面需要通过打印机进行打印,所以分页页面的高度根据所使用的打印纸的高度设置,如本领域技术人员可以理解的,该高度可以是默认的,也可以是根据需求设置的。但是,HTML页面的高度,是根据其标签中填充的现场情况笔录内容决定的,笔录内容多,则HTML标签的高度大,反之,HTML标签的高度小。
[0033]分页容器也是HTML标签的一种,可以通过设置其OverFlow属性,来实现标签的分页,并在不同的分页页面中用于显示页面内容,通过设置其Posit1n属性,来实现分页容器中内容的定位。
[0034]如本领域技术人员可以理解的,如果分页页面的高度内没有其他内容,则分页容器的高度即为分页页面的高度,如果分页页面的高度内还要显示其他内容,则分页容器的高度即为分页页面的高度减去其他内容所占的高度。
[0035]S3,设置每个分页页面中的所述分页容器的OverFlow属性和Posit1n属性;
[0036]S4,根据所述分页容器的OverFlow属性和Posit1n属性,将所述HTML标签填充到所有的所述分页页面中。
[0037]本发明中,通过设置HTML标签的隐藏属性和位置属性,将HTML标签中的待打印文档的内容,显示在不同的分页页面中。具体工作时,首先要计算每个不同的分页页面中设置的分页容器的高度,根据分页容器的高度,计算该分页页面中能够显示的HTML标签的内容,通过设置HTML标签的隐藏属性,在该分页容器中显示与其高度对应的HTML标签的高度的内容,而其他的内容则被隐藏起来,如本领域技术人员可以理解的,HTML标签的隐藏属性是其本身具有的,本发明中,比较巧妙的将该隐藏属性用于文档分页打印中;并且通过设置HTML标签的位置属性,使不同的分页页面可以显示对应高度的HTML标签的内容,而将其他的内容隐藏,从而实现分页。由于在分页的过程中,是根据不同分页页面中分页容器的高度,利用HTML标签的隐藏属性,将相应高度的内容进行显示,而将其他高度的内容进行隐藏实现的,所以,在分页过程中,不涉及根据行数和每行的字数固定每页的字符数,满足字符数后进行分页的过程,所以,会将分页容器填满,而不会出现空白页面的情况。
[0038]本发明实施例中,SI之后,还包括步骤,计算所述HTML标签的高度。
[0039]通过该步骤,可以获知现场执法笔录内容的多少,如果笔录内容比较多,则可以设置较大的分页页面的高度值,反之,可以设置较小的分页页面的高度值。
[0040]本实施例中,S3和S4之间,还包括步骤,根据所述HTML标签的高度和所述分页容器的高度,计算所述分页页面的数量。具体可以采用如下方法,包括如下步骤:
[0041]比较所述HTML标签的高度与第一页分页页面中的所述分页容器的高度,如果所述HTML标签的高度小于第一页分页页面中的所述分页容器的高度,则所述分页页面的数量为I ;如果所述HTML标签的高度大于第一页分页页面中的所述分页容器的高度,则计算所述分页页面的数量。
[0042]其中,本实施例中,如果所述HTML标签的高度大于第一页分页页面中的所述分页容器的高度,则计算所述分页页面的数量,具体可以为,如果所有的所述分页页面中的分页容器的高度均相等,则利用所述HTML标签的高度除以一个所述分页容器的高度,即可得到所述分页页面的数量;如果所述分页页面中的分页容器的高度不相等,则从第一页分页页面的分页容器开始,计算出分页页面的数量。比如,所述HTML标签的高度为200,第一页分页页面的分页容器的高度为50,第二页分页页面至第η页分页页面的分页容器的高度为100,则将HTML标签的内容填充到分页页面中,需要(200-50)/100再加
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1