CN110705234B - 一种制式表单自适应排版及分页方法和装置 - Google Patents
一种制式表单自适应排版及分页方法和装置 Download PDFInfo
- Publication number
- CN110705234B CN110705234B CN201910836339.8A CN201910836339A CN110705234B CN 110705234 B CN110705234 B CN 110705234B CN 201910836339 A CN201910836339 A CN 201910836339A CN 110705234 B CN110705234 B CN 110705234B
- Authority
- CN
- China
- Prior art keywords
- text box
- display content
- height
- special text
- special
- 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
Landscapes
- Document Processing Apparatus (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种制式表单自适应排版及分页方法和装置,该方法包括:根据用户的业务内容,创建包括至少一个文本框的制式表单模板;依次向文本框输入对应的展示内容时,判断当前文本框是否为普通文本框;若是,则将展示内容直接排版到普通文本框中;否则,则根据展示内容对特殊文本框进行相适应的动态调整后,将展示内容排版到特殊文本框中。本发明解决了制式表单格式无法根据数据特点进行相应变化的问题,解决了制式表单中存在长文本字段时涉及的自动分页问题,保证了制式表单格式与对应数据的完好适应,增加了制式表单排版及分页的灵活性,提高了排版质量,还能够有效提高排版效率。
Description
技术领域
本发明涉及制式表单技术领域,具体涉及一种制式表单自适应排版及分页方法和装置。
背景技术
制式表单,是一种具备统一样式的表单,对样式的要求比较严格,而且一般有纸质打印的需求。然而,制式表单的样式也需要根据用户的业务内容的不同,进行一定的适应性变化。例如,应用在档案管理系统中的制式表单,表中个人教育背景、家庭成员、工作经历等单元格,不同的人对应的内容也会不同,所以在表格宽度固定的情况下,相应内容所占的行数也会有所不同。
目前,现有技术中有很多常用的排版软件,如word、wps、powerpoint以及latex等,这些软件对制式表单进行排版时,要排版的内容是已知的,只能按照设定好的格式展示制式表单中的内容,无法根据输入的具体内容情况进行动态调整以适应性调整制式表单的整体格式,因此在无人工干预的情况下难以完成自动排版任务。
另外,现有的制式表单的自动排版技术,并没有解决长文本字段的自动排版问题,即没有解决多页表单的自动排版以及表单中出现长文本字段时存在的需要分页排版的问题。
发明内容
本发明实施例提供一种制式表单自适应排版及分页方法和装置,以解决现有技术中排版软件只能按照设定好的格式展示已知要排版的内容,而无法根据输入的具体内容进行动态调整以适应性调整制式表单的整体格式的问题。
第一方面,本发明实施例提供一种制式表单自适应排版及分页方法,所述方法包括:
根据用户的业务内容,创建包括至少一个文本框的制式表单模板,所述文本框包括普通文本框和特殊文本框;
依次向所述文本框输入对应的展示内容时,判断当前文本框是否为普通文本框;
若是,则将所述展示内容直接排版到所述普通文本框中;否则,则根据所述展示内容对所述特殊文本框进行相适应的动态调整后,将所述展示内容排版到所述特殊文本框中。
作为本发明第一方面的优选方式,所述根据所述展示内容对所述特殊文本框进行相适应的动态调整包括:
获取所述展示内容的长度和单行高度;
根据所述展示内容的长度和单行高度以及所述特殊文本框的宽度和高度,对所述特殊文本框进行相适应的动态调整。
作为本发明第一方面的优选方式,所述根据所述展示内容的长度和单行高度以及所述特殊文本框的宽度和高度,对所述特殊文本框进行相适应的动态调整包括:
根据所述展示内容的长度和所述特殊文本框的宽度,确定所述展示内容在所述特殊文本框中占用的行数;
根据所述展示内容在所述特殊文本框中占用的行数和所述展示内容的单行高度,确定所述展示内容在所述特殊文本框中占用的高度;
判断所述展示内容在所述特殊文本框中占用的高度是否小于等于所述特殊文本框的高度;
若是,则不对所述特殊文本框的高度进行动态调整;否则,对所述特殊文本框的高度进行动态调整,以使所述展示内容能够排版到所述特殊文本框中。
作为本发明第一方面的优选方式,所述对所述特殊文本框的高度进行动态调整,以使所述展示内容能够排版到所述特殊文本框中包括:
若所述展示内容在所述特殊文本框中占用的高度大于所述特殊文本框的高度时,判断所述展示内容在所述特殊文本框中占用的高度是否小于等于当前页面的剩余高度;
若是,则将所述特殊文本框的高度调整为与所述展示内容在所述特殊文本框中占用的高度相同的高度;否则,将所述特殊文本框的高度调整为与当前页面的剩余高度相同的高度,并在当前页面的下一页面内创建扩展文本框,且使所述扩展文本框的高度为所述展示内容在所述特殊文本框中占用的高度与当前页面的剩余高度之差。
作为本发明第一方面的优选方式,所述根据所述展示内容的长度和单行高度以及所述特殊文本框的宽度和高度,对所述特殊文本框进行相适应的动态调整包括:
根据所述展示内容的长度和所述特殊文本框的宽度,确定所述展示内容在所述特殊文本框中占用的行数;
根据所述展示内容的单行高度和所述特殊文本框的高度,确定所述特殊文本框能容纳的行数;
判断所述展示内容在所述特殊文本框中占用的行数是否小于等于所述特殊文本框能容纳的行数;
若是,则不对所述特殊文本框能容纳的行数进行动态调整;否则,对所述特殊文本框能容纳的行数进行动态调整,以使所述展示内容能够排版到所述特殊文本框中。
作为本发明第一方面的优选方式,所述对所述特殊文本框能容纳的行数进行动态调整,以使所述展示内容能够排版到所述特殊文本框中包括:
若所述展示内容在所述特殊文本框中占用的行数大于所述特殊文本框能容纳的行数时,判断所述展示内容在所述特殊文本框中占用的行数是否小于等于当前页面的剩余行数;
若是,则将所述特殊文本框能容纳的行数调整为与所述展示内容在所述特殊文本框中占用的行数相同的行数;否则,将所述特殊文本框能容纳的行数调整为与当前页面的剩余行数相同的行数,并在当前页面的下一页面内创建扩展文本框,且使所述扩展文本框能容纳的行数为所述展示内容在所述特殊文本框中占用的行数与当前页面的剩余行数之差。
作为本发明第一方面的优选方式,所述根据用户的业务内容,创建包括至少一个文本框的制式表单模板之前,还包括:
根据用户的业务内容,判断是否存在与所述业务内容相匹配的制式表单模板;
若是,则选取并调用与所述业务内容相匹配的制式表单模板。
第二方面,本发明实施例提供一种制式表单自适应排版及分页装置,所述装置包括:
创建单元,用于根据用户的业务内容,创建包括至少一个文本框的制式表单模板,所述文本框包括普通文本框和特殊文本框;
判断单元,用于依次向所述文本框输入对应的展示内容时,判断当前文本框是否为普通文本框;
排版单元,用于若当前文本框为普通文本框时,将所述展示内容直接排版到所述普通文本框中;还用于若当前文本框为特殊文本框时,根据所述展示内容对所述特殊文本框进行相适应的动态调整后,将所述展示内容排版到所述特殊文本框中。
第三方面,本发明实施例提供一种计算设备,包括处理器、存储器和通信接口,其中所述通信接口用于接收和发送数据,所述存储器用于存储执行指令,所述处理器用于读取所述存储器内的执行指令以执行如上述第一方面及其优选方式中任一项所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被计算设备执行时实现如上述第一方面及其优选方式中任一项所述的方法。
本发明实施例提供的一种制式表单自适应排版及分页方法和装置,通过在创建与用户的业务内容相匹配的制式表单模板时,根据模板中要输入文本框中的展示内容的数据量大小,将制式表单模板中包括的至少一个文本框划分为普通文本框和特殊文本框,然后有针对性地根据输入到特殊文本框中的展示内容对特殊文本框进行动态调整,需要分页时可进行分页处理,最终生成与数据相匹配的制式表单格式,解决了制式表单格式无法根据数据特点进行相应变化的问题,保证了制式表单格式与对应数据的完好适应,增加了制式表单排版及分页的灵活性,提高了排版质量。同时,仅对特殊文本框进行动态调整,而不对普通文本框进行调整,能够有效提高排版效率。
另外,本发明实施例提供的方法和装置,能够针对制式表单中出现的长文本字段进行分页排版,有效解决了制式表单中存在长文本字段时涉及的自动分页问题,进一步提高了排版质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种制式表单自适应排版及分页方法的流程示意图;
图2为本发明实施例提供的另一种制式表单自适应排版及分页方法的流程示意图;
图3为本发明实施例提供的又一种制式表单自适应排版及分页方法的流程示意图;
图4为本发明实施例提供的一种制式表单自适应排版及分页装置的结构示意图;
图5为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本发明实施例公开了一种制式表单自适应排版及分页方法,参照图1所示,该方法主要包括如下步骤:
101、根据用户的业务内容,创建包括至少一个文本框的制式表单模板,文本框包括普通文本框和特殊文本框;
102、依次向文本框输入对应的展示内容时,判断当前文本框是否为普通文本框;
103、若是,则将展示内容直接排版到普通文本框中;否则,则根据展示内容对特殊文本框进行相适应的动态调整后,将展示内容排版到特殊文本框中。
步骤101中,根据用户的业务内容,创建一个与之对应的制式表单模板。如用于档案管理时,该制式表单模板中一般包括个人姓名、年龄、学历、教育背景、家庭成员、工作经历等多个文本框。
向该模板中对应文本框输入的展示内容一般是在数据库中读取的,它对应于制式表单模板中的某个或者多个文本框的相关信息。其中,个人姓名、年龄、学历等文本框中要输入的展示内容的长度通常是固定的,比如姓名文本框中要输入的展示内容一般为2~5个字符,年龄文本框中要输入的展示内容一般为1~2个字符,学历文本框中要输入的展示内容一般为2~6个字符等等。因此,在创建制式表单模板时,将这些要输入的展示内容的长度是固定的文本框划分为普通文本框,并将普通文本框的长度设置为要输入的展示内容包括最多字符时的长度,其高度一般设置为要输入的展示内容中最高的字符的高度与行间距之和,例如展示内容中既有汉字又有英文字符,由于汉字的高度较高,因此展示内容的高度为汉字的高度再加上行间距,这样设置后普通文本框能够直接容纳要输入的展示内容。
而教育背景、家庭成员、工作经历等文本框中要输入的展示内容的长度通常是不固定的,比如工作经历中可能没有输入的展示内容,也可能有多大几十行的展示内容。因此,在创建制式表单模板时,将这些要输入的展示内容的长度是不固定的文本框划分为特殊文本框,并将特殊文本框的宽度设置为预设宽度,其高度一般预设为要输入的展示内容中最高的字符与行间距之和的几倍,这样设置后特殊文本框需要根据输入的展示内容进行动态调整以容纳全部的展示内容,必要时还需要进行分页处理。
本步骤中将制式表单模板中的文本框划分为普通文本框和特殊文本框,由于普通文本框不需要动态调整,仅需要根据输入到特殊文本框中的展示内容对特殊文本框进行动态调整以生成与数据相匹配的制式表单格式,增加了制式表单排版的灵活性,不仅可以提高排版质量,还可以提高排版速度,从而有效提高排版效率。
另外,制式表单模板中还包括一些不需要输入展示内容的文本框,如复选框、单选框、下拉选择框和文件上传框等。由于这些文本框不需要做调整,所以其宽度和高度等依据制式表单模板中的整体格式进行设置即可。
本实施例中,展示内容的长度指所展示内容的每个字符在排版时所占宽度之和,展示内容的单行高度是指根据制式表单模板中该文本框所设置字体及字号得到的单行高度。
具体地,输入的展示内容的长度根据相应的字符宽度得出,常用的字符包括汉字、英文大小写字母、标点符号等,每个常用的字符在一种特定字体及特定字号大小下的宽度和高度是可以通过测量得到的,所以输入的展示内容的长度为每个字符的宽度再加上相邻两个字符之间的间距之和,而输入的展示内容的高度为最高的字符的高度与行间距之和,此处输入的展示内容的高度仅指其一行内容的高度。
优选地,在步骤101之前,还包括如下步骤:
根据用户的业务内容,判断是否存在与业务内容相匹配的制式表单模板;
若是,则选取并调用与业务内容相匹配的制式表单模板。
具体地,由于用户的业务内容不同,在创建制式表单模板时,会根据不同的业务内容同时创建多个与业务内容相匹配的制式表单模板,创建好的制式表单模板会统一存储在服务器中。在具体实施时,针对用户某个具体的业务内容时,可以从存储在服务器中的多个制式表单模板中自动选取并调用一个与该业务内容相匹配的制式表单模板即可,而不需要每次都创建新的制式表单模板,这样可以进一步提高排版效率。
因此,在具体实施时,根据用户的业务内容创建对应的制式表单模板之前,先判断创建好的多个制式表单模板中是否存在与该业务内容相匹配的制式表单模板,若有,则直接选取并调用该制式表单模板即可;若没有,则需要另行创建一个与该业务内容相匹配的制式表单模板,可以进一步提高排版效率。
同样地,该制式表单模板创建后也统一存储在服务器中,以方便后期有同样的业务内容时可以直接选取并调用。
步骤102中,依次向与业务内容相匹配的制式表单模板中的文本框输入对应的展示内容时,需要判断当前文本框是普通文本框还是特殊文本框,以确定当前文本框是否需要调整。
由于在上述步骤101中创建制式表单模板时,已经将要输入的展示内容的文本框划分为普通文本框和特殊文本框,所以该判断过程直接依据制式表单模板中的设置即可。
步骤103中,若当前文本框为普通文本框时,由于普通文本框能够直接容纳要输入的展示内容,所以将输入的展示内容直接排版到该普通文本框中即可,不需要对普通文本框进行调整。
若当前文本框为特殊文本框时,由于特殊文本框不一定能够直接容纳要输入的展示内容,所以需要根据展示内容对特殊文本框进行相适应的动态调整后,才能将输入的展示内容排版到特殊文本框中,这样保证了制式表单格式与对应数据的完好适应,生成了与制式表单内容相匹配的排版页面,整齐美观。
在一种可能的实现方式中,根据展示内容对特殊文本框进行相适应的动态调整的过程,可按照以下步骤具体实施:
1031、获取展示内容的长度和单行高度;
1032、根据展示内容的长度和单行高度以及特殊文本框的宽度和高度,对特殊文本框进行相适应的动态调整。
具体地,展示内容的长度和单行高度的获取过程可参照步骤101中对此过程的描述,同样特殊文本框的宽度和高度的获取过程也可参照步骤101中对此过程的描述,再此不再赘述。
在获取到要输入的展示内容的长度和单行高度后,将其与特殊文本框的宽度和高度做比较,然后根据比较后得出的结果对特殊文本框进行相适应的动态调整。进一步地,步骤1032可以按照下面两种实现方式具体实施,以达到对特殊文本框进行相适应的动态调整的目的。
在一种可能的实现方式中,步骤1032可按照以下步骤具体实施:
S11、根据展示内容的长度和特殊文本框的宽度,确定展示内容在特殊文本框中占用的行数;
S12、根据展示内容在特殊文本框中占用的行数和展示内容的单行高度,确定展示内容在特殊文本框中占用的高度;
S13、判断展示内容在特殊文本框中占用的高度是否小于等于特殊文本框的高度;
S14、若是,则不对特殊文本框的高度进行动态调整;否则,对特殊文本框的高度进行动态调整,以使展示内容能够排版到所述特殊文本框中。
具体地,上述过程先确定了展示内容在特殊文本框中占用的行数,通常通过将展示内容的长度与该特殊文本框的宽度做商得到,当不能整除时将行数加一即可,然后确定展示内容在特殊文本框中占用的高度,最后判断展示内容在特殊文本框中占用的高度是否不大于特殊文本框的高度。
若展示内容在特殊文本框中占用的高度不大于特殊文本框的高度,则说明制式表单模板中预设的该高度下的特殊文本框能够直接容纳要输入的展示内容,此时不需要对该特殊文本框的高度进行动态调整。
若展示内容在特殊文本框中占用的高度大于特殊文本框的高度,则说明制式表单模板中预设的该高度下的特殊文本框不能直接容纳要输入的展示内容,此时需要对该特殊文本框的高度进行动态调整,以使其能够容纳全部的展示内容。
优选地,上述步骤S14可按照以下步骤具体实施:
S14-1、若展示内容在特殊文本框中占用的高度大于特殊文本框的高度时,判断展示内容在特殊文本框中占用的高度是否小于等于当前页面的剩余高度;
S14-2、若是,则将特殊文本框的高度调整为与展示内容在特殊文本框中占用的高度相同的高度;否则,将特殊文本框的高度调整为与当前页面的剩余高度相同的高度,并在当前页面的下一页面内创建扩展文本框,且使扩展文本框的高度为展示内容在特殊文本框中占用的高度与当前页面的剩余高度之差。
具体地,当确定需要对该特殊文本框的高度进行动态调整时,则需要进一步判断展示内容能否容纳在当前页面中,即是否需要进行分页处理。上述过程先通过判断展示内容在特殊文本框中占用的高度是否不大于当前页面的剩余高度,来确定展示内容能否容纳在当前页面中。
若展示内容在特殊文本框中占用的高度不大于当前页面的剩余高度,则说明当前页面的剩余部分可以容纳下全部的展示内容,此时不需要进行分页处理,只需将特殊文本框的高度调整为与展示内容在特殊文本框中占用的高度相同的高度即可容纳下全部的展示内容。
若展示内容在特殊文本框中占用的高度大于当前页面的剩余高度,则说明当前页面的剩余部分不能容纳下全部的展示内容,此时需要进行分页处理,需要将特殊文本框的高度调整为与当前页面的剩余高度相同的高度,并在当前页面的下一页面内创建扩展文本框,且使扩展文本框的高度为展示内容在特殊文本框中占用的高度与当前页面的剩余高度之差,以此类推,直到容纳下全部的展示内容为止。
上述步骤能够针对制式表单中出现的长文本字段进行分页排版,有效解决了制式表单中存在长文本字段时涉及的自动分页问题,进一步提高了排版质量。
在另一种可能的实现方式中,步骤1032可按照以下步骤具体实施:
S21、根据展示内容的长度和特殊文本框的宽度,确定展示内容在特殊文本框中占用的行数;
S22、根据展示内容的单行高度和特殊文本框的高度,确定特殊文本框能容纳的行数;
S23、判断展示内容在特殊文本框中占用的行数是否小于等于特殊文本框能容纳的行数;
S24、若是,则不对特殊文本框能容纳的行数进行动态调整;否则,对特殊文本框能容纳的行数进行动态调整,以使展示内容能够排版到特殊文本框中。
具体地,上述过程先确定了展示内容在特殊文本框中占用的行数,通常通过将展示内容的长度与该特殊文本框的宽度做商得到,当不能整除时将行数加一即可,然后确定特殊文本框能容纳的行数,通常通过将该特殊文本框的高度与展示内容的单行高度做商得到,当不能整除时将行数加一即可,最后判断展示内容在特殊文本框中占用的行数是否小于等于特殊文本框能容纳的行数。
若展示内容在特殊文本框中占用的行数小于等于特殊文本框能容纳的行数,则说明制式表单模板中预设的该能容纳的行数下的特殊文本框能够直接容纳要输入的展示内容,此时不需要对该特殊文本框的高度进行动态调整。
若展示内容在特殊文本框中占用的行数大于特殊文本框能容纳的行数,则说明制式表单模板中预设的该能容纳的行数下的特殊文本框不能直接容纳要输入的展示内容,此时需要对该特殊文本框的高度进行动态调整,以使其能够容纳全部的展示内容。
优选地,上述步骤S24可按照以下步骤具体实施:
S24-1、若展示内容在特殊文本框中占用的行数大于特殊文本框能容纳的行数时,判断展示内容在特殊文本框中占用的行数是否小于等于当前页面的剩余行数;
S24-2、若是,则将特殊文本框能容纳的行数调整为与展示内容在特殊文本框中占用的行数相同的行数;否则,将特殊文本框能容纳的行数调整为与当前页面的剩余行数相同的行数,并在当前页面的下一页面内创建扩展文本框,且使扩展文本框能容纳的行数为展示内容在特殊文本框中占用的行数与当前页面的剩余行数之差。
具体地,当确定需要对该特殊文本框能容纳的行数进行动态调整时,则需要进一步判断展示内容能否容纳在当前页面中,即是否需要进行分页处理。上述过程先通过判断展示内容在特殊文本框中占用的行数是否不大于当前页面的剩余行数,来确定展示内容能否容纳在当前页面中。
若展示内容在特殊文本框中占用的行数小于等于当前页面的剩余行数,则说明当前页面的剩余部分可以容纳下全部的展示内容,此时不需要进行分页处理,只需将特殊文本框能容纳的行数调整为与展示内容在特殊文本框中占用的行数相同的行数即可容纳下全部的展示内容。
若展示内容在特殊文本框中占用的行数大于当前页面的剩余行数,则说明当前页面的剩余部分不能容纳下全部的展示内容,此时需要进行分页处理,需要将特殊文本框能容纳的行数调整为与当前页面的剩余行数相同的行数,并在当前页面的下一页面内创建扩展文本框,且使扩展文本框能容纳的行数为展示内容在特殊文本框中占用的行数与当前页面的剩余行数之差,以此类推,直到容纳下全部的展示内容为止。
上述步骤能够针对制式表单中出现的长文本字段进行分页排版,有效解决了制式表单中存在长文本字段时涉及的自动分页问题,进一步提高了排版质量。
示例性地,步骤1032的上述可能的实现方式,可以通过下述可在latex软件中实现的精简后的算法伪代码实现:
其中,M为展示内容在特殊文本框中占用的行数,G为特殊文本框,N为特殊文本框能容纳的行数,G'为扩展文本框。
上述两种实现方式分别从高度和行数两个角度来对特殊文本框进行相适应的动态调整,二者能达到相同的技术效果,本领域技术人员可根据实际情况选择其中一种实现方式具体实施即可。
需要说明的是,对于上述方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
通过实施本发明上述实施例提供的一种制式表单自适应排版及分页方法,解决了制式表单格式无法根据数据特点进行相应变化的问题,保证了制式表单格式与对应数据的完好适应,有效解决了制式表单中存在长文本字段时涉及的自动分页问题,增加了制式表单排版及分页的灵活性,提高了排版质量。同时,仅对特殊文本框进行动态调整,而不对普通文本框进行调整,能够有效提高排版效率。
下面将继续通过两个具体的实施例来对本发明作进一步的说明,以使本领域技术人员能够更好地理解本发明。
进一步地,本发明实施例提供一种制式表单自适应排版及分页方法,参照图2所示,该方法具体包括如下步骤:
200、根据用户的业务内容,判断是否存在与该业务内容相匹配的制式表单模板;若是,则选取并调用与业务内容相匹配的制式表单模板,然后执行步骤202;否则,执行步骤201;
201、根据用户的业务内容,创建包括至少一个文本框的制式表单模板,文本框包括普通文本框和特殊文本框;202、依次向文本框输入对应的展示内容时,判断当前文本框是否为普通文本框;
203、若是,则将展示内容直接排版到普通文本框中,然后执行步骤213;否则,执行步骤204;
204、获取展示内容的长度和单行高度;
205、根据展示内容的长度和特殊文本框的宽度,确定展示内容在特殊文本框中占用的行数;
206、根据展示内容在特殊文本框中占用的行数和展示内容的行高度,确定展示内容在特殊文本框中占用的高度;
207、判断展示内容在特殊文本框中占用的高度是否小于等于特殊文本框的高度;
208、若是,则不对特殊文本框的高度进行动态调整,然后执行步骤212;否则,执行步骤209;
209、判断展示内容在特殊文本框中占用的高度是否小于等于当前页面的剩余高度;
210、若是,则将特殊文本框的高度调整为与展示内容在特殊文本框中占用的高度相同的高度,然后执行步骤212;否则,执行步骤211;
211、将特殊文本框的高度调整为与当前页面的剩余高度相同的高度,并在当前页面的下一页面内创建扩展文本框,且使扩展文本框的高度为展示内容在特殊文本框中占用的高度与当前页面的剩余高度之差,然后执行步骤212;
212、将展示内容排版到特殊文本框中;
213、判断制式表单模板中的所有文本框是否排版完毕;
214、若是,则整个过程执行完毕;否则,继续执行步骤202。上述实施例中各步骤的具体实施过程,可参照前述实施例中对各方法步骤的说明,在此不再赘述。
进一步地,本发明实施例提供一种制式表单自适应排版及分页方法,参照图3所示,该方法具体包括如下步骤:
300、根据用户的业务内容,判断是否存在与该业务内容相匹配的制式表单模板;若是,则选取并调用与业务内容相匹配的制式表单模板,然后执行步骤302;否则,执行步骤301;
301、根据用户的业务内容,创建包括至少一个文本框的制式表单模板,文本框包括普通文本框和特殊文本框;
302、依次向文本框输入对应的展示内容时,判断当前文本框是否为普通文本框;
303、若是,则将展示内容直接排版到普通文本框中,然后执行步骤313;否则,执行步骤304;
304、获取展示内容的长度和单行高度;
305、根据展示内容的长度和特殊文本框的宽度,确定展示内容在特殊文本框中占用的行数;
306、根据展示内容的行高度和特殊文本框的高度,确定特殊文本框能容纳的行数;
307、判断展示内容在特殊文本框中占用的行数是否小于等于特殊文本框能容纳的行数;
308、若是,则不对特殊文本框能容纳的行数进行动态调整,然后执行步骤312;否则,执行步骤309;
309、判断展示内容在特殊文本框中占用的行数是否小于等于当前页面的剩余行数;
310、若是,则将特殊文本框能容纳的行数调整为与展示内容在特殊文本框中占用的行数相同的行数,然后执行步骤312;否则,继续执行步骤311;
311、将特殊文本框能容纳的行数调整为与当前页面的剩余行数相同的行数,并在当前页面的下一页面内创建扩展文本框,且使扩展文本框能容纳的行数为展示内容在特殊文本框中占用的行数与当前页面的剩余行数之差,然后执行步骤312;
312、将展示内容排版到特殊文本框中;
313、判断制式表单模板中的所有文本框是否排版完毕;
314、若是,则整个过程执行完毕;否则,继续执行步骤302。
上述实施例中各步骤的具体实施过程,可参照前述实施例中对各方法步骤的说明,在此不再赘述。
通过实施本发明上述两个实施例提供的一种制式表单自适应排版及分页方法,解决了制式表单格式无法根据数据特点进行相应变化的问题,保证了制式表单格式与对应数据的完好适应,有效解决了制式表单中存在长文本字段时涉及的自动分页问题,增加了制式表单排版及分页的灵活性,提高了排版质量。同时,仅对特殊文本框进行动态调整,而不对普通文本框进行调整,能够有效提高排版效率。
此外,预先根据不同的业务内容创建多个与之相匹配的制式表单模板,在后续排版时可以直接选取并调用该对应的制式表单模板,而无需另行创建,可以进一步提高排版效率。
基于同一技术构思,本发明实施例提供一种制式表单自适应排版及分页装置,参照图4所示,所述装置包括:
创建单元41,用于根据用户的业务内容,创建包括至少一个文本框的制式表单模板,文本框包括普通文本框和特殊文本框;
判断单元42,用于依次向文本框输入对应的展示内容时,判断当前文本框是否为普通文本框;
排版单元43,用于若当前文本框为普通文本框时,将展示内容直接排版到普通文本框中;还用于若当前文本框为特殊文本框时,根据展示内容对特殊文本框进行相适应的动态调整后,将展示内容排版到特殊文本框中。
优选地,排版单元43具体用于:
获取展示内容的长度和单行高度;
根据展示内容的长度和单行高度以及特殊文本框的宽度和高度,对特殊文本框进行相适应的动态调整。
优选地,排版单元43还具体用于:
根据展示内容的长度和特殊文本框的宽度,确定展示内容在特殊文本框中占用的行数;
根据展示内容在特殊文本框中占用的行数和展示内容的单行高度,确定展示内容在特殊文本框中占用的高度;
判断展示内容在特殊文本框中占用的高度是否小于等于特殊文本框的高度;
若是,则不对特殊文本框的高度进行动态调整;否则,对特殊文本框的高度进行动态调整,以使展示内容能够排版到特殊文本框中。
优选地,排版单元43还具体用于:
若展示内容在特殊文本框中占用的高度大于特殊文本框的高度时,判断展示内容在特殊文本框中占用的高度是否小于等于当前页面的剩余高度;
若是,则将特殊文本框的高度调整为与展示内容在特殊文本框中占用的高度相同的高度;否则,将特殊文本框的高度调整为与当前页面的剩余高度相同的高度,并在当前页面的下一页面内创建扩展文本框,且使扩展文本框的高度为展示内容在特殊文本框中占用的高度与当前页面的剩余高度之差。
优选地,排版单元43还具体用于:
根据展示内容的长度和特殊文本框的宽度,确定展示内容在特殊文本框中占用的行数;
根据展示内容的单行高度和特殊文本框的高度,确定特殊文本框能容纳的行数;
判断展示内容在特殊文本框中占用的行数是否小于等于特殊文本框能容纳的行数;
若是,则不对特殊文本框能容纳的行数进行动态调整;否则,对特殊文本框能容纳的行数进行动态调整,以使展示内容能够排版到特殊文本框中。
优选地,排版单元43还具体用于:
若展示内容在特殊文本框中占用的行数大于特殊文本框能容纳的行数时,判断展示内容在特殊文本框中占用的行数是否小于等于当前页面的剩余行数;
若是,则将特殊文本框能容纳的行数调整为与展示内容在特殊文本框中占用的行数相同的行数;否则,将特殊文本框能容纳的行数调整为与当前页面的剩余行数相同的行数,并在当前页面的下一页面内创建扩展文本框,且使扩展文本框能容纳的行数为展示内容在特殊文本框中占用的行数与当前页面的剩余行数之差。
优选地,还包括判断单元,判断单元具体用于:
根据用户的业务内容,判断是否存在与业务内容相匹配的制式表单模板;
若是,则选取并调用与业务内容相匹配的制式表单模板。
需要说明的是,本发明实施例提供的制式表单自适应排版及分页装置与前述实施例所述的制式表单自适应排版及分页方法属于相同的技术构思,其具体实施过程可参照前述实施例中对方法步骤的说明,在此不再赘述。
关于图4示出的制式表单自适应排版及分页装置在实际应用中可包括更多或更少的部件,图示仅为示例并不构成限定。图4中示出的各模块或各单元具体可通过软件或者硬件的方式实现,当其通过软件程序实现时,图示中的各模块或各单元均为软件模块。当其通过硬件实现时,图示中的各模块或各单元具体可通过专用集成电路(application-specific integratedcircuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合等,本发明并不做限定。
通过实施本发明实施例提供的一种制式表单自适应排版及分页装置,解决了制式表单格式无法根据数据特点进行相应变化的问题,保证了制式表单格式与对应数据的完好适应,有效解决了制式表单中存在长文本字段时涉及的自动分页问题,增加了制式表单排版及分页的灵活性,提高了排版质量。同时,仅对特殊文本框进行动态调整,而不对普通文本框进行调整,能够有效提高排版效率。
此外,预先根据不同的业务内容创建多个与之相匹配的制式表单模板,在后续排版时可以直接选取并调用该对应的制式表单模板,而无需另行创建,可以进一步提高排版效率。
本发明实施例还提供一种计算设备,参照图5所示,包括处理器51、存储器52和通信接口53,其中通信接口53用于接收和发送数据,存储器52用于存储执行指令,处理器51用于读取存储器52内的执行指令以执行如上图1~图3所述的方法实施例中提供的所有或部分实施步骤,这里不再赘述。
应理解的,处理器51还可用于运行存储器52中存储的相关程序代码以实现如下功能模块的功能。换句话说,存储器52中存储有一组程序代码,处理器51可调用存储器52中存储的程序代码以实现图4所示的计算设备中的所有或部分功能模块的功能,或者实现如上图1~图3所述方法实施例所描述的内容,这里不再赘述。
需要说明的是,图5仅仅是本发明实施例的一种可能的实现方式,实际应用中,计算设备还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述图1~图4所述实施例中的相关阐述,这里不再赘述。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC芯片中。另外,该ASIC芯片可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于计算设备中。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种制式表单自适应排版及分页方法,其特征在于,所述方法包括:
根据用户的业务内容,创建包括至少一个文本框的制式表单模板,并将创建好的所述制式表单模板存储在服务器中;所述文本框包括普通文本框和特殊文本框;所述普通文本框用于容纳输入长度固定的展示内容,所述特殊文本框用于容纳输入长度不固定的展示内容;
依次向所述文本框输入对应的展示内容时,判断当前文本框是否为普通文本框;
若是,则将所述展示内容直接排版到所述普通文本框中;否则,则根据所述展示内容对所述特殊文本框进行相适应的动态调整后,将所述展示内容排版到所述特殊文本框中;
所述根据所述展示内容对所述特殊文本框进行相适应的动态调整包括:
获取所述展示内容的长度和单行高度;所述展示内容的长度为所展示内容的每个字符在排版时所占宽度之和,所述展示内容的单行高度是根据所述制式表单模板中所述文本框所设置字体及字号得到的;
根据所述展示内容的长度和单行高度以及所述特殊文本框的宽度和高度,对所述特殊文本框进行相适应的动态调整;
在根据用户的业务内容,创建包括至少一个文本框的制式表单模板之前,所述方法还包括:
根据用户的业务内容,判断所述服务器内是否存在与所述业务内容相匹配的制式表单模板;
若是,则直接选取并调用与所述业务内容相匹配的制式表单模板。
2.根据权利要求1所述的方法,其特征在于,所述根据所述展示内容的长度和单行高度以及所述特殊文本框的宽度和高度,对所述特殊文本框进行相适应的动态调整包括:
根据所述展示内容的长度和所述特殊文本框的宽度,确定所述展示内容在所述特殊文本框中占用的行数;
根据所述展示内容在所述特殊文本框中占用的行数和所述展示内容的单行高度,确定所述展示内容在所述特殊文本框中占用的高度;
判断所述展示内容在所述特殊文本框中占用的高度是否小于等于所述特殊文本框的高度;
若是,则不对所述特殊文本框的高度进行动态调整;否则,对所述特殊文本框的高度进行动态调整,以使所述展示内容能够排版到所述特殊文本框中。
3.根据权利要求2所述的方法,其特征在于,所述对所述特殊文本框的高度进行动态调整,以使所述展示内容能够排版到所述特殊文本框中包括:
若所述展示内容在所述特殊文本框中占用的高度大于所述特殊文本框的高度时,判断所述展示内容在所述特殊文本框中占用的高度是否小于等于当前页面的剩余高度;
若是,则将所述特殊文本框的高度调整为与所述展示内容在所述特殊文本框中占用的高度相同的高度;否则,将所述特殊文本框的高度调整为与当前页面的剩余高度相同的高度,并在当前页面的下一页面内创建扩展文本框,且使所述扩展文本框的高度为所述展示内容在所述特殊文本框中占用的高度与当前页面的剩余高度之差。
4.根据权利要求1所述的方法,其特征在于,所述根据所述展示内容的长度和单行高度以及所述特殊文本框的宽度和高度,对所述特殊文本框进行相适应的动态调整包括:
根据所述展示内容的长度和所述特殊文本框的宽度,确定所述展示内容在所述特殊文本框中占用的行数;
根据所述展示内容的单行高度和所述特殊文本框的高度,确定所述特殊文本框能容纳的行数;
判断所述展示内容在所述特殊文本框中占用的行数是否小于等于所述特殊文本框能容纳的行数;
若是,则不对所述特殊文本框能容纳的行数进行动态调整;否则,对所述特殊文本框能容纳的行数进行动态调整,以使所述展示内容能够排版到所述特殊文本框中。
5.根据权利要求4所述的方法,其特征在于,所述对所述特殊文本框能容纳的行数进行动态调整,以使所述展示内容能够排版到所述特殊文本框中包括:
若所述展示内容在所述特殊文本框中占用的行数大于所述特殊文本框能容纳的行数时,判断所述展示内容在所述特殊文本框中占用的行数是否小于等于当前页面的剩余行数;
若是,则将所述特殊文本框能容纳的行数调整为与所述展示内容在所述特殊文本框中占用的行数相同的行数;否则,将所述特殊文本框能容纳的行数调整为与当前页面的剩余行数相同的行数,并在当前页面的下一页面内创建扩展文本框,且使所述扩展文本框能容纳的行数为所述展示内容在所述特殊文本框中占用的行数与当前页面的剩余行数之差。
6.一种制式表单自适应排版及分页装置,其特征在于,所述装置包括:
创建单元,用于根据用户的业务内容,创建包括至少一个文本框的制式表单模板,并将创建好的所述制式表单模板存储在服务器中;所述文本框包括普通文本框和特殊文本框;所述普通文本框用于容纳输入长度固定的展示内容,所述特殊文本框用于容纳输入长度不固定的展示内容;
判断单元,用于依次向所述文本框输入对应的展示内容时,判断当前文本框是否为普通文本框;
排版单元,用于若当前文本框为普通文本框时,将所述展示内容直接排版到所述普通文本框中;还用于若当前文本框为特殊文本框时,根据所述展示内容对所述特殊文本框进行相适应的动态调整后,将所述展示内容排版到所述特殊文本框中;
所述排版单元具体用于,在当前文本框为特殊文本框时,获取所述展示内容的长度和单行高度;所述展示内容的长度为所展示内容的每个字符在排版时所占宽度之和,所述展示内容的单行高度是根据所述制式表单模板中所述文本框所设置字体及字号得到的;
根据所述展示内容的长度和单行高度以及所述特殊文本框的宽度和高度,对所述特殊文本框进行相适应的动态调整;
在根据用户的业务内容,创建包括至少一个文本框的制式表单模板之前,所述创建单元还被配置为执行:
根据用户的业务内容,判断所述服务器内是否存在与所述业务内容相匹配的制式表单模板;
若是,则直接选取并调用与所述业务内容相匹配的制式表单模板。
7.一种计算设备,其特征在于,包括处理器、存储器和通信接口,其中所述通信接口用于接收和发送数据,所述存储器用于存储执行指令,所述处理器用于读取所述存储器内的执行指令以执行如上述权利要求1~5中任一项所述的方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被计算设备执行时实现如上述权利要求1~5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910836339.8A CN110705234B (zh) | 2019-09-05 | 2019-09-05 | 一种制式表单自适应排版及分页方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910836339.8A CN110705234B (zh) | 2019-09-05 | 2019-09-05 | 一种制式表单自适应排版及分页方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110705234A CN110705234A (zh) | 2020-01-17 |
CN110705234B true CN110705234B (zh) | 2023-06-30 |
Family
ID=69194218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910836339.8A Active CN110705234B (zh) | 2019-09-05 | 2019-09-05 | 一种制式表单自适应排版及分页方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110705234B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138704B (zh) * | 2020-01-19 | 2022-07-05 | 福建天泉教育科技有限公司 | 一种文本框的显示方法及终端 |
CN112199373A (zh) * | 2020-09-24 | 2021-01-08 | 中国建设银行股份有限公司 | 一种表单开发方法和系统 |
CN112307713A (zh) * | 2020-10-27 | 2021-02-02 | 广州朗国电子科技有限公司 | 一种基于Android系统文本自动排版方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268192A (zh) * | 2013-06-14 | 2013-08-28 | 北京捷讯华泰科技有限公司 | 基于关键词搜索的可调节文本输入界面方法 |
CN106919548A (zh) * | 2017-02-06 | 2017-07-04 | 福建榕基软件股份有限公司 | 一种文本智能编排展示方法及装置 |
CN110134468A (zh) * | 2018-02-08 | 2019-08-16 | 广东神马搜索科技有限公司 | 文本框尺寸调整方法和装置 |
CN109062885B (zh) * | 2018-07-16 | 2022-09-09 | 广州视源电子科技股份有限公司 | 文本框布局的调整方法、装置和设备 |
CN109145272B (zh) * | 2018-07-27 | 2022-09-16 | 广州视源电子科技股份有限公司 | 文本渲染和布局方法、装置、设备和存储介质 |
CN109492635A (zh) * | 2018-09-20 | 2019-03-19 | 第四范式(北京)技术有限公司 | 获取标注数据的方法、装置、设备及存储介质 |
-
2019
- 2019-09-05 CN CN201910836339.8A patent/CN110705234B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110705234A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110705234B (zh) | 一种制式表单自适应排版及分页方法和装置 | |
US11721091B2 (en) | Clustering historical images using a convolutional neural net and labeled data bootstrapping | |
US7783969B1 (en) | Rule-based text layout | |
US11442955B2 (en) | Systems and methods for generating tables from print-ready digital source documents | |
JP2004157502A (ja) | フォントの選択方法 | |
US9002877B2 (en) | Quick font match | |
JP2013511088A (ja) | ドキュメントのためのプラットホーム独立植字のサポート | |
US20200160086A1 (en) | Unsupervised domain adaptation from generic forms for new ocr forms | |
CN110162773B (zh) | 标题推断器 | |
US20220284175A1 (en) | Systems and methods for extracting text from portable document format data | |
US11334708B2 (en) | Dynamic typesetting | |
US9218327B2 (en) | Optimizing the layout of electronic documents by reducing presentation size of content within document sections so that when combined a plurality of document sections fit within a page | |
CN111208957B (zh) | 一种工资条打印方法 | |
US10740539B2 (en) | Page structure adjustments | |
EP4191433A1 (en) | Method, device, and system for analyzing unstructured document | |
US20220284724A1 (en) | Systems and methods for extracting text from portable document format data | |
US9342488B2 (en) | Terminal, apparatus and method for optimizing the description of text contents in a fixed layout document | |
CN116110065A (zh) | 题卡数据生成方法、装置、计算机设备和存储介质 | |
CN112699634B (zh) | 电子书的排版处理方法、电子设备及存储介质 | |
CN106598934A (zh) | 电子书数据的显示方法、装置及终端设备 | |
CN111444452B (zh) | 网页页面的转换方法、装置及存储介质 | |
CN113962193A (zh) | 表格排版方法、装置、电子设备及存储介质 | |
US9984053B2 (en) | Replicating the appearance of typographical attributes by adjusting letter spacing of glyphs in digital publications | |
CN112925837B (zh) | 文本结构化方法及装置 | |
CN113298741B (zh) | 图片合成方法、装置及电子设备 |
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 |