CN117787211A - 一种图文设计页面识别排版整理方法 - Google Patents
一种图文设计页面识别排版整理方法 Download PDFInfo
- Publication number
- CN117787211A CN117787211A CN202311543352.7A CN202311543352A CN117787211A CN 117787211 A CN117787211 A CN 117787211A CN 202311543352 A CN202311543352 A CN 202311543352A CN 117787211 A CN117787211 A CN 117787211A
- Authority
- CN
- China
- Prior art keywords
- template
- templates
- content
- user
- typesetting
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013461 design Methods 0.000 title claims abstract description 31
- 230000008676 import Effects 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 230000007812 deficiency Effects 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 7
- 230000002688 persistence Effects 0.000 description 5
- 238000007639 printing Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种图文设计页面识别排版整理方法,涉及图文排版技术领域,用户下载模板到本地,需要进行模板签名认证,整理系统模板库中包括内置模板和用户公开模板,内置模板和用户公开模板以缩略图的形式展示,供写作者进行选择,当选定模板后,需要写作者导入书籍内容,作者导入书籍内容后,检测导入的文字部分内容,内容填充模板接收书籍内容产出的标题、正文、注释和图表作为输入,然后匹配模板。该整理方法能够自动根据书籍内容的目录层级生成相应格式的目录,减少了手动编写目录的工作,提高了排版速度和准确性,通过模板签名认证,确保了下载的模板的来源可信,提高了系统的安全性,防止恶意代码或不安全模板的传播。
Description
技术领域
本发明涉及图文排版技术领域,具体涉及一种图文设计页面识别排版整理方法。
背景技术
随着数字化媒体的兴起,人们在网站、社交媒体、应用程序等平台上产生大量的图文内容,这些内容需要吸引读者和用户,因此需要有吸引人的排版和设计,但处理如此大量的内容是一项繁重的任务,很多组织和个人没有足够的资源来雇佣专业设计师或编辑人员,或者他们需要处理大量相似的内容,这使得手动排版和设计变得不切实际,随着计算机视觉和自然语言处理技术的不断发展,我们可以利用这些技术来创建智能系统,帮助设计师和编辑更轻松地处理图文内容;
整理系统是一种应用于图文设计领域的技术系统,旨在帮助设计师和编辑人员更高效地创建、编辑和排版各种图文内容,如印刷品、数字媒体、网站、应用程序界面等,这个系统整合了图像识别、文本分析、自动排版等技术,以提供一种自动化的方式来处理和美化各种图文材料。
现有技术存在以下不足:
现有的整理方法无法根据书籍内容的目录层级生成相应格式的目录,从而增加手动编写目录的工作,降低排版速度和准确性,对模板下载无签名认证,无法确保下载的模板的来源可信度,安全性差,容易导致恶意代码或不安全模板的传播。
发明内容
本发明的目的是提供一种图文设计页面识别排版整理方法,以解决背景技术中不足。
为了实现上述目的,本发明提供如下技术方案:一种图文设计页面识别排版整理方法,所述整理方法包括以下步骤:
S1:用户基于栅格系统将模板文件显示到栅格容器组件中;
S2:排版者创作完成后,将模板公开至整理系统模板库中,供写作者使用,或作为其他模板创作者的基础模板;
S3:用户下载模板到本地,需要进行模板签名认证;
S4:用户编辑过的所有模板保存在个人模板库中,个人模板库模板根据类目对用户编辑模板进行分类;
S5:整理系统模板库中包括内置模板和用户公开模板,内置模板和用户公开模板以缩略图的形式展示,供写作者进行选择,当选定模板后,需要写作者导入书籍内容;
S6:作者导入书籍内容后,检测导入的文字部分内容;
S7:内容填充模板接收书籍内容产出的标题、正文、注释和图表作为输入,然后匹配模板;
S8:当整理系统获取要显示的文字、图表以及样式后,将文字、图表以及样式渲染成栅格项目组件并显示到栅格容器中;
S9:当用户选定模板后,处理端对栅格化JSON对象数组进行分页计算,根据目录层级生成相应格式的目录。
优选的,步骤S5中,内置模板和用户公开模板以缩略图的形式展示包括以下步骤:
S5.1:整理系统对所有模板进行分类;
S5.2:在分类完成后,对每个分类中的模板进行排序。
优选的,步骤S5.1中,整理系统对所有模板进行分类包括以下步骤:
S5.1.1:收集所有内置模板和用户公开模板的相关数据,相关数据包括模板的名称、描述、领域、风格、设计元素、字体、颜色主题、纸张尺寸、多媒体元素、评价和反馈信息、使用频率、更新日期、作者信息;
S5.1.2:对收集的数据进行清洗;
S5.1.3:根据参数为每个模板分配相应的数值或标签,完成分类。
优选的,步骤S5.2中,对每个分类中的模板进行排序包括以下步骤:
S5.2.1:获取每个模板的日期指数、使用参数以及安全参数,使用参数包括应用频率以及模板缺失度,安全参数包括安全警示频率;
S5.2.2:将日期指数、应用频率、模板缺失度以及安全警示频率综合计算后获取模板系数mbx;
S5.2.3:将属于同一分类的所有模板依据模板系数mbx由大到小进行排序;
S5.2.4:为所有模板设置安全警示频率阈值,当模板的安全警示频率大于安全警示频率阈值时,整理系统将该模板删除。
优选的,所述模板系数mbx的计算逻辑为:分别为应用频率、模板缺失度以及安全警示频率乘上比例系数,比例系数用于表示应用频率、模板缺失度以及安全警示频率的权重,应用频率与模板系数成正比关系,模板缺失度以及安全警示频率与模板系数呈反比关系,再通过日期指数调节模板系数后,综合计算日期指数、应用频率、模板缺失度以及安全警示频率获取模板系数mbx。
优选的,所述模板缺失度的计算表逻辑为:
为每个模板定义期望结构,包括标题、正文、图表、图片、表格、注释,作为模板的元数据;
用户填充模板以创建最终的文档或设计,内容包括用户提供的文本、图片、数据;
分析实际填充的内容与模板期望结构之间的差异,差异包括:
有部分期望内容缺失;
有额外的内容添加;
有不在期望结构中的内容;
根据检测到的差异,采用以下逻辑来计算模板缺失度:
模板缺失度bq=期望内容缺失的部分数量/总期望内容部分数量。
优选的,步骤S7中,内容填充模板接收书籍内容产出的标题、正文、注释和图表作为输入,然后匹配模板包括以下步骤:
S7.1:当整理系统获取要显示的文字、图表以及样式后,开始将文字、图表以及样式渲染成栅格项目组件并显示到栅格容器中;
S7.2:模板中的项目提供项目的位置、大小和样式;
S7.3:扫描到的内容替换模板中的示例内容,然后重新计算项目的位置、大小;
S7.4:根据模板项目中的相对位置计算出排版后的绝对位置,根据内容的最低点maxY和相对位置(x,y)求出绝对位置为(x0+x,y0+y+maxY+1)。
优选的,步骤S3中,用户下载模板到本地,需要进行模板签名认证包括以下步骤:
S3.1:模板下载页依赖模板签名,模板签名包括摘要算法、加密算法;
S3.2:摘要算法对栅格化JSON数据做hash压缩得到报文摘要;
S3.3:加密算法使用模板持有者的用户私钥对报文摘要进行加密形成数字签名;
S3.4:若模板是用户原创模板,会在模板上为用户签订数字签名;
S3.5:若用户选择在现成模板上修改,则会覆盖模板原来的数字签名;
S3.6:用户进行签名、加密认证后进入模板下载动作。
优选的,步骤S2中,排版者创作完成后,将模板公开至整理系统模板库中需要获取签名,包括以下步骤:
S2.1:整理系统借鉴HTTPS协议流程,使用数字签名关联模板文件;
S2.2:使用用户公钥解密数字签名为报文摘要A;
S2.3:用公开的摘要算法对栅格化JSON模板计算报文摘要B;
S2.4:若报文摘要A、报文摘要B相等,模板属于用户,若报文摘要A、报文摘要B不相等,模板不属于用户;
S2.5:用户进行签名、加密认证后进入模板上传动作。
优选的,步骤S1中,用户基于栅格系统将模板文件显示到栅格容器组件中包括以下步骤:
S1.1:从状态管理MobX中接收模板文件;
S1.2:整理系统通过文件操作将模板文件反序列化为栅格化JSON对象数组;
S1.3:提交给MobX管理,模板设计为接受栅格化JSON对象数组;
S1.4:按照栅格容器组件的布局与内容要求,计算该数组中的内容,应用到栅格系统中,显示为栅格项目组件。
在上述技术方案中,本发明提供的技术效果和优点:
本发明通过用户基于栅格系统将模板文件显示到栅格容器组件中,排版者创作完成后,将模板公开至整理系统模板库中,供写作者使用,或作为其他模板创作者的基础模板,用户下载模板到本地,需要进行模板签名认证,用户编辑过的所有模板保存在个人模板库中,个人模板库模板根据类目对用户编辑模板进行分类,整理系统模板库中包括内置模板和用户公开模板,内置模板和用户公开模板以缩略图的形式展示,供写作者进行选择,当选定模板后,需要写作者导入书籍内容,作者导入书籍内容后,检测导入的文字部分内容,内容填充模板接收书籍内容产出的标题、正文、注释和图表作为输入,然后匹配模板,当整理系统获取要显示的文字、图表以及样式后,将文字、图表以及样式渲染成栅格项目组件并显示到栅格容器中,当用户选定模板后,处理端对栅格化JSON对象数组进行分页计算,根据目录层级生成相应格式的目录。该整理方法能够自动根据书籍内容的目录层级生成相应格式的目录,减少了手动编写目录的工作,提高了排版速度和准确性,通过模板签名认证,确保了下载的模板的来源可信,提高了系统的安全性,防止恶意代码或不安全模板的传播。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明的方法流程图。
图2为本发明的系统结构图;
图3为本发明的系统技术架构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:请参阅图1所示,本实施例所述一种图文设计页面识别排版整理方法,所述整理方法包括以下步骤:
基于栅格系统将模板文件显示到栅格容器组件中,模板文件中的内容是栅格化JSON对象数组格式的字符串,显示到栅格容器组件中需要将其转化为栅格项目组件;
从状态管理MobX中接受一份模板文件,系统通过文件操作将这份模板文件反序列化为栅格化JSON对象数组,然后提交给MobX管理,因此设计为接收一个栅格化JSON对象数组,按照栅格容器组件的布局与内容要求,计算该数组中的内容,应用到栅格系统中,显示为栅格项目组件,达到可视化目的。
排版者可以对栅格容器组件中的模板文件进行编辑操作,编辑的操作包括添加项目、设置项目类别、拖拽项目改变位置、伸缩项目改变大小、修改项目内容、删除项目,从操作形式上划分:添加、删除、设置项目类别通过功能按钮完成,拖拽、伸缩通过直接操作项目完成,修改内容则通过单击项目进入编辑模式完成;
在进行模板创作的过程中,就是编辑项目,除了添加、删除、拖拽和伸缩等常规操作之外,还有两点需要着重设计,分别是设置项目类别和修改项目内容,编辑模板的过程中以电子书元数据进行矩形划分,设计出六种项目类别,作用是设定当前所编辑项目的类别,以便后续使用模板计算排版时进行匹配,具体到每种类别内部,可以在其中进行添加、删除、拖拽、伸缩、修改项目内容等操作;
需要说明的是在模板编辑阶段拖拽项目的位置是相对于同一类型左上角起始位置(x0,y0)的相对位置(x,y),伸缩项目设置的大小宽度w在纸张大小不变的情况下是恒定不变的,可以为其设置宽度模式:有固定宽度,按比例缩放两种,高度h仅起到示意作用,可以为项目设置高度模式:有固定高度,按比例缩放两种;
系统提供了两种文字编辑模式,分别为Markdown编辑模式和富文本编辑模式,两种编辑模式使用同一份模板文件,在模板创作阶段,编辑的主要目的是编辑示例文字在项目中的布局和样式,在修改内容时根据编辑模式不同需要显示不同的内容,因此栅格化JSON需要提供两份内容字段,分别是value和origin,目前考虑到Markdown模式不能完全展示富文本模式的效果,因此两种编辑模式相互独立开;
除了文字内容的编辑之外,当项目类型设置为有图时,还需要进行图片设置,图片设置也是设置其相对位置和大小。
当排版者创作完成后,可以将模板公开至整理系统的模板库中,供写作者使用,或者作为其它模板创作者的基础模板,当用户选择公开模板时,系统应确保文件获取签名之后,再进行模板公开操作,模板公开的难点在于如何证明模板的持有人是谁,整理系统借鉴HTTPS协议的流程,使用数字签名关联模板文件,证明方式为:
使用用户公钥解密数字签名为报文摘要A,另外用公开的摘要算法对栅格化JSON模板计算报文摘要B,如果A、B相等,则模板属于用户,如果不等,证明模板不属于用户;
模板公开涉及到文件上传,所有权确认的步骤,用户选择模板文件公开到自动排版系统,需要验证模板是否有数字签名,如果没有会根据用户信息进行签名,如果有,则询问用户是否覆盖原有签名,需要记录这次覆盖操作,并将原始模板和持有者保存下来,当用户申请鉴权之后,由系统管理员对比新旧模板进行裁定;
系统只能接受在自动排版系统上创作出来的栅格化JSON数据作为模板,理论上讲,可以手动直接编辑栅格化JSON,只要编辑的栅格化JSON数据符合系统规定的字段规范即可,然后进行加密,上传至系统,因此模板的传输需要用服务器盐密码进行对称加密,防止恶意的模板盗取。
用户可以将模板下载到本地,同模板公开一样,模板下载页依赖模板签名,模板签名包含了摘要算法,加密算法的应用,摘要算法对栅格化JSON数据做hash压缩得到报文摘要,加密算法使用模板持有者的用户私钥对报文摘要进行加密形成数字签名,如果模板是用户原创的模板,那么会在模板上为用户签订数字签名,如果用户选择在现成模板上修改,会覆盖模板原来的数字签名,这里仍然设计为加密形式的下载,是为了防止系统外部直接解读模板文件侵害用户权益,模板下载的具体工作流程与模板公开一致,只不过在签名,加密完成之后,将上传动作改为下载动作。
用户编辑过的所有模板都是保存在自己的个人模板库中的,个人模板库中的模板也同公共模板库中的模板一样,根据类目进行分类,除此之外,模板还分为私有、公开,私有模板指那些用户持有的未公开的模板,公开模板指用户持有的已公开的模板,另外,还可以将喜欢的模板收藏进个人模板库中;
个人库中的公开模板是构成系统公共模板库的一部分,完整的功能就是个人模板库的一个常规的增删改查功能,在创建模板的过程中可以按照管理员制定的类目进行选择,在查询过程中也可以按照类目进行查询。
写作者登录系统后,若要对书籍内容做自动排版,首先需要进行模板的选择,系统的模板库中囊括了内置的模板和用户公开的模板,这些模板会以缩略图的形式展示出来,供写作者进行选择,当选定模板之后,需要写作者导入书籍内容,导入的内容包括章节标题、正文和图表,其中章节标题和正文使用一个文本文件导入,或者直接粘贴复制即可,当解析完书籍的目录层级结构之后,按目录层级为用户提供导入图片的接口,并按目录层级和类型为图片命名,用户也可以自行按要求为图片命名;
作者导入书籍内容之后,检测导入的文字部分,需要检测的内容包括标题层级和名称,正文内容,注释三种不同的内容,需要注意的是,在设计上将注释定义为解释、说明等游离于行文主线之外的辅助内容。
内容填充模板会接受书籍内容产出的标题,正文,注释和图表作为输入,然后匹配模板的六种类型之一,当系统获取了要显示的文字、图表以及样式之后,开始将其渲染成栅格项目组件并显示到栅格容器中,模板中的项目会提供项目的位置,大小和样式,其中位置,大小描述项目的属性,样式描述项目中内容的布局,内容填充模板时,会用扫描到的内容替换模板中的示例内容,然后重新计算项目的位置、大小;
重新计算项目属性的原则是这样的:对于位置而言,需要根据模板项目中的相对位置计算出排版后的绝对位置,根据内容的最低点maxY和相对位置(x,y)很容易求出绝对位置为(x0+x,y0+y+maxY+1),这样维护每列的最低点即可,对于大小而言,如果纸张大小不变,宽度是不会改变的,如果纸张大小改变,所有宽度按照宽度模式进行缩放,在宽度w一定的情况下,高度y也根据内容的样式进行计算;
另一方面,图片的大小计算规则会忽略上传图片的大小,严格按照图片的原始宽高和宽高模式进行计算,虽然有可能会造成图片变形,但这是为了保证排版按照模板设计者的思路进行而做出的妥协。
当用户对比多个模板之后,最终选定满意的模板,就需要分页了,一键分页功能会对计算好的栅格化JSON对象数组进行分页计算,根据目录层级,生成指定格式的目录,分页计算由目录模板,分页算法组成,分页算法负责统计每个项目的位置、大小,根据所选纸张大小,计算出各级目录所在页码,目录模板会接受分页算法提供的章节目录对应的页码填充进当前模板,生成目录;
不在内容填充阶段进行分页的原因在于:分页算法的计算量与内容填充的计算量相当,甚至更大,另外考虑到分页信息对于书籍内容排版不会造成影响,且模板会频繁切换,所以选定模板之后,再单独进行分页计算,缩减了至少50%的计算量,分页除了计算章节目录对应的页码数外,还需要为整本书进行编页码,这个过程和前者稍有区别,前者是查询问题,后者是遍历处理;
对于计算章节目录页码来说,系统需要内置一套目录模板,主要是经典的单栏式设计和双栏式设计,首先根据接受到的书籍的目录结构生成合适的目录模板,然后检索书籍中的章节标题位置,通过前述的内容填充模板计算出来的一系列前置信息,配合纸张大小,计算出标题所在页码,然后将页码匹配到目录模板中相应的标题位置上;
对于为每页编上页码这个需求来讲,需要顺序扫描整本书籍,按照纸张大小和当前的扫描位置信息来计算,判断页面是否发生变化,当变化时,既进入下一页,反之,则继续使用当前页码。
当用户完成分页之后,需要将排版成果打印,调用浏览器提供的页面打印能力,浏览器提供的页面打印能力会原样打印出页面的所有细节;
系统提供了动态化的菜单栏,纸张特效,动态化菜单方便用户操作模板,而纸张特效让用户能够感受到页边距,体验到更真实的排版效果,当用户选择打印之后,菜单栏和纸张特效都会关闭,页面只会留下干净的排版效果,方便用户预览。
本申请通过用户基于栅格系统将模板文件显示到栅格容器组件中,排版者创作完成后,将模板公开至整理系统模板库中,供写作者使用,或作为其他模板创作者的基础模板,用户下载模板到本地,需要进行模板签名认证,用户编辑过的所有模板保存在个人模板库中,个人模板库模板根据类目对用户编辑模板进行分类,整理系统模板库中包括内置模板和用户公开模板,内置模板和用户公开模板以缩略图的形式展示,供写作者进行选择,当选定模板后,需要写作者导入书籍内容,作者导入书籍内容后,检测导入的文字部分内容,内容填充模板接收书籍内容产出的标题、正文、注释和图表作为输入,然后匹配模板,当整理系统获取要显示的文字、图表以及样式后,将文字、图表以及样式渲染成栅格项目组件并显示到栅格容器中,当用户选定模板后,处理端对栅格化JSON对象数组进行分页计算,根据目录层级生成相应格式的目录。该整理方法能够自动根据书籍内容的目录层级生成相应格式的目录,减少了手动编写目录的工作,提高了排版速度和准确性,通过模板签名认证,确保了下载的模板的来源可信,提高了系统的安全性,防止恶意代码或不安全模板的传播。
本申请排版系统开发中应用到的关键技术,包括开发客户端所使用的前端工程化体系:MVVM模式、React框架、MobX状态管理、webpack构建工具;对排版问题矩形packing建模使用到的栅格系统、JSON数据交换格式以及localStorage本地化存储;最后介绍搭建文件服务器所需要的Node.js和Nginx服务器;
栅格容器借鉴了布局技术中的网格布局,网格布局将矩形界面切分为排列整齐的网格,可以任意组合相邻的网格,从而做出各种各样的布局,栅格容器秉承着同样的思路,将容器划分为“行”和“列”,行列交汇,产生单元格,每个单元格可以用行号组合列号进行唯一表示,只需要简单指定项目占据的单元格,即可完成布局,基本概念如下:
(1)容器和项目,采用网格布局的整个区域,称为容器,容器内部根据网格进行定位的子元素,称作项目;
(2)行和列,容器内的水平方向叫做行,垂直方向叫做列,增长方向如图,水平深色区域为行,增长方向向下,垂直深色区域为列,增长方向向右;
(3)单元格,行列交汇区域叫做单元格,N行M列交汇产生N*M个单元格。
react-grid-layout是一个使用React实现的优秀的栅格系统,不同于一般的网格化布局,react-grid-layout是响应式,支持断点的,具备动态添加、删除项目、动态拖拽,改变项目大小等实时交互能力,在自动排版系统中,栅格容器是基石,负责可视化栅格化JSON模板数据。
请参阅图2所示,整理系统进行了层级划分,按照系统的运行流程进行划分,从最上层的用户开始,自顶到底一共划分为五个层级,分别是:用户层、业务层、支撑层、持久层和基础层;
1)业务层:业务层属于应用级功能,直接和写作者、模板创作者和后台管理员接触,为用户提供服务,在前台方面,根据功能性需求分析结果,得出业务主要包含模板创作、模板管理、一键排版三大类,对于后台方面,包含的业务主要是模板库的维护、类目的设置、所有权鉴定等操作;
2)支撑层:支撑层是为业务层提供服务支持的,用户在业务层做的操作,实质上是调用若干支撑层的功能模块组合完成的,支撑层对上向业务层提供服务支持,对下接收数据中心平台的UI状态模型数据,是整个系统的腰部力量,相当重要,另一方面,数据中心平台设计为一层中间件,用作汇总领域模型数据并将其转化为UI状态模型数据;
3)持久层:持久层即数据持久层,负责为数据中心平台提供数据,持久层通过orm映射框架从数据库中获取数据,这些数据是领域模型数据,会被交付给数据中心平台,数据中心平台依据前台页面需求,以获取到的领域模型数据为基础,计算UI状态模型数据;
4)基础层:基础层也是为系统提供支持的,与支撑层不同的是,基础层提供的是物理资源上的支持,支撑层提供的是逻辑上的支持,以模板创作中的图片插入操作为例,基础层为图片插入提供物理硬盘用于保存图片数据至文件服务器,支撑层提供编辑、上传图片等逻辑,业务层则提供一个可视化编辑组件方便用户操作,各层组合为用户提供了图片插入操作。
请参阅图3所示,整理系统业务模型需要处理的数据一共有三种:用户数据,模板数据,文件,用户数据是标准的关系型数据,选用MySQL数据库做持久化;模板数据属于结构化数据类型,但是内容不稳定,因此使用NoSQL类型数据库MongoDB做持久化;另外,排版过程中会涉及到图片,因此需要构建文件服务器;
领域模型数据就由以上两个数据库以及一个文件服务器共同维护,这里也是服务端的边界,三者分别通过JDBC,Mongoose,Multer向外部提供领域模型数据,当数据流出之后,需要经过BFF层处理,BFF是backend-for-frontend的意思,BFF层选择使用Node.js搭建,主要考虑的是Node.js优秀的并发抗压能力,BFF层最主要的作用是将领域模型数据转化为UI状态模型数据,数据在经过BFF层之后,转变为可以直接在浏览器页面上使用的UI状态模型数据,另一方面,BFF是作为中间件存在的,数据可以通过数个BFF,每个BFF对数据做不同的处理,例如一些BFF专门为服务端数据库及文件服务器挡住无效,多余或非法的请求,这些BFF形成链,数据依次通过每个BFF;
上述的数据库、文件服务器加上BFF的设计取代了传统的服务端进行数据加工的职责,为了向浏览器提供网络调用接口,整理系统还需要进行web技术的设计,这部分也是功能模块的所在位置,整个系统的所有功能模块均在这里实现,Node.js服务器使用express框架开发,express通过body-parser解析浏览器请求,执行功能模块逻辑,最终从BFF层获取UI状态模型数据返回给浏览器即可,对于浏览器方面,通过React配合MobX的方式建立业务逻辑与界面UI,通过调用express接口获取UI状态模型数据,状态通过MobX统一管理分配至React组件,最终重新渲染界面完成响应。
整理系统服务包括模板创作服务、模板管理服务以及一键排版服务;
(1)模板创作服务
模板创作者使用模板创作功能向系统贡献模板,自动排版系统需要向模板创作者提供从空白文件到模板文件的全生命周期服务,包括创建编辑空白模板,选择已存在模板进行修改,可视化实时保存编辑等模块;
(2)模板管理服务
模板作为整个自动排版系统中最重要的组成部分,需要建立妥善的管理系统,自动排版系统为模板提供了下载到本地保存,上传到服务器,公开到系统模板库等模块,此外,模板作为文化创作的一部分,需要保护创作者的权益,自动排版系统通过模板签名模块,将创作者信息绑定在模板上;
(3)一键排版服务
写作者充分依赖系统提供的排版功能,一键排版服务以栅格容器为载体,提供显示、切换模板的模块,用户可以选择满意的模板进行排版,包括进行书籍内容导入,内容填充模板,分页计算,调整,打印的完整排版模块;
其中模板创作、模板管理服务是模板创作者使用,一键排版服务是写作者使用,通过模板创作、管理,模板创作者可以从零创建一个全新的模板,并签署自己的电子签名发布到系统的模板库中,通过一键排版,写作者可以进行模板选择、书籍内容导入、内容填充模板、调整、打印等操作,对于后台管理员来讲,需要为其提供维护模板库的能力,以及类目设置,所有权鉴定等。
实施例2:整理系统模板库中包括内置模板和用户公开模板,内置模板和用户公开模板以缩略图的形式展示,供写作者进行选择,当选定模板后,需要写作者导入书籍内容;
具体的:
整理系统模板库中包括内置模板和用户公开模板,内置模板和用户公开模板以缩略图的形式展示包括以下步骤:
1)整理系统对所有模板进行分类,具体为:
数据收集:首先,需要收集所有内置模板和用户公开模板的相关数据,包括模板的名称、描述、领域、风格、设计元素、字体、颜色主题、纸张尺寸、多媒体元素、评价和反馈信息、使用频率、更新日期、作者信息等;
数据清洗:对收集的数据进行清洗,确保数据的准确性和一致性,可能需要处理缺失的信息,规范化命名和分类等;
参数定义:根据前述的参数,为每个模板分配相应的数值或标签,以便后续的排序和分类,这些参数可以根据具体情况定义,也可以由用户或管理员来填写;
2)在分类完成后,对每个分类中的模板进行排序,具体为:
获取每个模板的日期指数、使用参数以及安全参数,使用参数包括应用频率以及模板缺失度,安全参数包括安全警示频率;
将日期指数、应用频率、模板缺失度以及安全警示频率综合计算后获取模板系数mbx,计算表达式为:
式中,rq为日期指数,yp为应用频率,bq为模板缺失度,ed为安全警示频率,α、β、γ分别为日期指数、应用频率、模板缺失度以及安全警示频率的比例系数,且α、β、γ均大于0;
模板系数mbx的计算逻辑为:分别为应用频率、模板缺失度以及安全警示频率乘上比例系数,比例系数用于表示权重,应用频率与模板系数成正比关系,模板缺失度以及安全警示频率与模板系数呈反比关系,再通过日期指数调节模板系数,使新上传的模板能够排序靠前,最终得到模板系数。
由模板系数mbx的计算表达式可知,模板系数mbx值越大,表明模板的综合评价越好,因此,将属于同一分类的所有模板依据模板系数mbx由大到小进行排序;
并且,为所有模板设置安全警示频率阈值,当模板的安全警示频率大于安全警示频率阈值时,整理系统将该模板删除,保障整理系统的安全性;
日期指数的获取逻辑为:为了避免用户新上传的模板排序靠后,导致模板的曝光度不够,我们通过日期指数来调节模板系数mbx值,使得新上传的模板在一定时间内获得较高的排序,具体为:
整理系统预设一个时间阈值,当用户上传模板至整理系统模板库的持续时间≤时间阈值时,日期指数rq=5,当用户上传模板至整理系统模板库的持续时间>时间阈值时,日期指数rq=1,这样即可使得新上传的模板排序靠前,拥有一段时间的曝光度;
例如,时间阈值设置为24小时,当用户上传模板至整理系统模板库的持续时间超过24小时后,就降低对该模板的曝光度;
应用频率的计算表达式为:yp=zc/yc;
式中,zc表示模板被使用的总次数,yc表示整理系统的所有用户数量,应用频率越大,表明该模板被使用次数越多,越受欢迎,越应该被推广;
模板缺失度的计算表逻辑为:
模板期望结构定义:首先,需要为每个模板定义其期望结构,包括所需的各个部分,例如标题、正文、图表、图片、表格、注释等,这可以作为一个模板的元数据;
实际填充的内容:用户填充模板以创建最终的文档或设计,这些内容可以是用户提供的文本、图片、数据等;
检测差异:系统需要分析实际填充的内容与模板期望结构之间的差异,差异可以包括以下情况:
有部分期望内容缺失;
有额外的内容添加;
有不在期望结构中的内容;
缺失度计算:根据上述检测到的差异,可以采用以下逻辑来计算模板缺失度:
模板缺失度bq=(期望内容缺失的部分数量/总期望内容部分数量)。
安全警示频率的获取逻辑为:
定义安全警示:首先,需要定义与模板安全相关的警示事件,这些事件可能包括以下内容:
恶意代码检测:如果模板中检测到恶意代码或可疑文件,将记录警示事件;
未经授权的修改:如果有人未经授权修改了模板,将记录警示事件;
安全漏洞或漏洞报告:如果有已知的安全漏洞或报告,将记录警示事件;
数据泄露或敏感信息泄露:如果模板中的敏感信息被泄露,将记录警示事件;
实时监控:系统需要实时监控模板库,以检测上述定义的安全警示事件,这可以通过使用恶意代码扫描工具、安全漏洞扫描工具、访问日志监控等手段来实现;
警示事件记录:每次发生安全警示事件时,系统应该记录事件的详细信息,包括事件类型、日期和时间、模板名称、相关用户或作者等,
计算频率:安全警示频率可以根据以下公式来计算:
安全警示频率ed=(警示事件数量/时间段);
时间段可以是小时、天、周、月等,根据需要调整,这个公式计算了在特定时间段内发生的安全警示事件的频率,以百分比形式表示;
阈值设置:设置安全警示频率阈值,如果安全警示频率超过安全警示频率阈值,系统可以触发警报或采取相应的安全措施。
上述公式均是去量纲取其数值计算,公式是由采集大量数据进行软件模拟得到最近真实情况的一个公式,公式中的预设参数由本领域的技术人员根据实际情况进行设置。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种图文设计页面识别排版整理方法,其特征在于:所述整理方法包括以下步骤:
S1:用户基于栅格系统将模板文件显示到栅格容器组件中;
S2:排版者创作完成后,将模板公开至整理系统模板库中,供写作者使用,或作为其他模板创作者的基础模板;
S3:用户下载模板到本地,需要进行模板签名认证;
S4:用户编辑过的所有模板保存在个人模板库中,个人模板库模板根据类目对用户编辑模板进行分类;
S5:整理系统模板库中包括内置模板和用户公开模板,内置模板和用户公开模板以缩略图的形式展示,供写作者进行选择,当选定模板后,需要写作者导入书籍内容;
S6:作者导入书籍内容后,检测导入的文字部分内容;
S7:内容填充模板接收书籍内容产出的标题、正文、注释和图表作为输入,然后匹配模板;
S8:当整理系统获取要显示的文字、图表以及样式后,将文字、图表以及样式渲染成栅格项目组件并显示到栅格容器中;
S9:当用户选定模板后,处理端对栅格化JSON对象数组进行分页计算,根据目录层级生成相应格式的目录。
2.根据权利要求1所述的一种图文设计页面识别排版整理方法,其特征在于:步骤S5中,内置模板和用户公开模板以缩略图的形式展示包括以下步骤:
S5.1:整理系统对所有模板进行分类;
S5.2:在分类完成后,对每个分类中的模板进行排序。
3.根据权利要求2所述的一种图文设计页面识别排版整理方法,其特征在于:步骤S5.1中,整理系统对所有模板进行分类包括以下步骤:
S5.1.1:收集所有内置模板和用户公开模板的相关数据,相关数据包括模板的名称、描述、领域、风格、设计元素、字体、颜色主题、纸张尺寸、多媒体元素、评价和反馈信息、使用频率、更新日期、作者信息;
S5.1.2:对收集的数据进行清洗;
S5.1.3:根据参数为每个模板分配相应的数值或标签,完成分类。
4.根据权利要求3所述的一种图文设计页面识别排版整理方法,其特征在于:步骤S5.2中,对每个分类中的模板进行排序包括以下步骤:
S5.2.1:获取每个模板的日期指数、使用参数以及安全参数,使用参数包括应用频率以及模板缺失度,安全参数包括安全警示频率;
S5.2.2:将日期指数、应用频率、模板缺失度以及安全警示频率综合计算后获取模板系数mbx;
S5.2.3:将属于同一分类的所有模板依据模板系数mbx由大到小进行排序;
S5.2.4:为所有模板设置安全警示频率阈值,当模板的安全警示频率大于安全警示频率阈值时,整理系统将该模板删除。
5.根据权利要求4所述的一种图文设计页面识别排版整理方法,其特征在于:所述模板系数mbx的计算逻辑为:分别为应用频率、模板缺失度以及安全警示频率乘上比例系数,比例系数用于表示应用频率、模板缺失度以及安全警示频率的权重,应用频率与模板系数成正比关系,模板缺失度以及安全警示频率与模板系数呈反比关系,再通过日期指数调节模板系数后,综合计算日期指数、应用频率、模板缺失度以及安全警示频率获取模板系数mbx。
6.根据权利要求5所述的一种图文设计页面识别排版整理方法,其特征在于:所述模板缺失度的计算表逻辑为:
为每个模板定义期望结构,包括标题、正文、图表、图片、表格、注释,作为模板的元数据;
用户填充模板以创建最终的文档或设计,内容包括用户提供的文本、图片、数据;
分析实际填充的内容与模板期望结构之间的差异,差异包括:
有部分期望内容缺失;
有额外的内容添加;
有不在期望结构中的内容;
根据检测到的差异,采用以下逻辑来计算模板缺失度:
模板缺失度bq=期望内容缺失的部分数量/总期望内容部分数量。
7.根据权利要求6所述的一种图文设计页面识别排版整理方法,其特征在于:步骤S7中,内容填充模板接收书籍内容产出的标题、正文、注释和图表作为输入,然后匹配模板包括以下步骤:
S7.1:当整理系统获取要显示的文字、图表以及样式后,开始将文字、图表以及样式渲染成栅格项目组件并显示到栅格容器中;
S7.2:模板中的项目提供项目的位置、大小和样式;
S7.3:扫描到的内容替换模板中的示例内容,然后重新计算项目的位置、大小;
S7.4:根据模板项目中的相对位置计算出排版后的绝对位置,根据内容的最低点maxY和相对位置(x,y)求出绝对位置为(x0+x,y0+y+maxY+1)。
8.根据权利要求7所述的一种图文设计页面识别排版整理方法,其特征在于:步骤S3中,用户下载模板到本地,需要进行模板签名认证包括以下步骤:
S3.1:模板下载页依赖模板签名,模板签名包括摘要算法、加密算法;
S3.2:摘要算法对栅格化JSON数据做hash压缩得到报文摘要;
S3.3:加密算法使用模板持有者的用户私钥对报文摘要进行加密形成数字签名;
S3.4:若模板是用户原创模板,会在模板上为用户签订数字签名;
S3.5:若用户选择在现成模板上修改,则会覆盖模板原来的数字签名;
S3.6:用户进行签名、加密认证后进入模板下载动作。
9.根据权利要求8所述的一种图文设计页面识别排版整理方法,其特征在于:步骤S2中,排版者创作完成后,将模板公开至整理系统模板库中需要获取签名,包括以下步骤:
S2.1:整理系统借鉴HTTPS协议流程,使用数字签名关联模板文件;
S2.2:使用用户公钥解密数字签名为报文摘要A;
S2.3:用公开的摘要算法对栅格化JSON模板计算报文摘要B;
S2.4:若报文摘要A、报文摘要B相等,模板属于用户,若报文摘要A、报文摘要B不相等,模板不属于用户;
S2.5:用户进行签名、加密认证后进入模板上传动作。
10.根据权利要求9所述的一种图文设计页面识别排版整理方法,其特征在于:步骤S1中,用户基于栅格系统将模板文件显示到栅格容器组件中包括以下步骤:
S1.1:从状态管理MobX中接收模板文件;
S1.2:整理系统通过文件操作将模板文件反序列化为栅格化JSON对象数组;
S1.3:提交给MobX管理,模板设计为接受栅格化JSON对象数组;
S1.4:按照栅格容器组件的布局与内容要求,计算该数组中的内容,应用到栅格系统中,显示为栅格项目组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311543352.7A CN117787211A (zh) | 2023-11-17 | 2023-11-17 | 一种图文设计页面识别排版整理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311543352.7A CN117787211A (zh) | 2023-11-17 | 2023-11-17 | 一种图文设计页面识别排版整理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117787211A true CN117787211A (zh) | 2024-03-29 |
Family
ID=90384089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311543352.7A Pending CN117787211A (zh) | 2023-11-17 | 2023-11-17 | 一种图文设计页面识别排版整理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117787211A (zh) |
-
2023
- 2023-11-17 CN CN202311543352.7A patent/CN117787211A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230367841A1 (en) | System and method for implementing containers which extract and apply semantic page knowledge | |
US7805673B2 (en) | Method and apparatus to provide a unified redaction system | |
US11829437B2 (en) | System for comparison and merging of versions in edited websites and interactive applications | |
JP7490729B2 (ja) | スプレッドシートに基づくソフトウェアアプリケーションの開発 | |
US20080270463A1 (en) | Document processing system and method therefor | |
US6934052B2 (en) | Method for image layout using energy minimization | |
US8645344B2 (en) | Document processing system and method therefor | |
US7350142B2 (en) | Method and system for creating a table version of a document | |
US6647390B2 (en) | System and methods for standardizing data for design review comparisons | |
US20130073942A1 (en) | Method, System, and Computer-Readable Medium To Uniformly Render Document Annotation Across Different Comuter Platforms | |
DE112014000408B4 (de) | Sicheres Speichern und Zugreifen auf digitale Artefakte | |
US7149967B2 (en) | Method and system for creating a table version of a document | |
US20090320141A1 (en) | Document data security management method and system therefor | |
US20040148298A1 (en) | Browse information management system and management method | |
CA2668306A1 (en) | Method and system for applying metadata to data sets of file objects | |
EP1965310A1 (en) | Document processing method | |
JP2001337994A (ja) | サムネイル表示システムと方法およびその処理プログラムを記録した記録媒体 | |
US20050117870A1 (en) | Method and system for processing background and item data for photographic files | |
US10891432B2 (en) | System and process for generating an internet application | |
WO2002031686A1 (en) | A multi-user database for computer-based information | |
CN117787211A (zh) | 一种图文设计页面识别排版整理方法 | |
JP2009104646A (ja) | データベースシステム及びデータ管理方法 | |
CN114564197A (zh) | 根据业务场景区分字段权限的方法及计算机可读存储介质 | |
CN114238724A (zh) | 一种数据可视化的方法及装置 | |
JP6932819B2 (ja) | 情報処理装置及び情報処理プログラム |
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 |