CN102103760A - 一种图文互斥的排版方法和系统 - Google Patents

一种图文互斥的排版方法和系统 Download PDF

Info

Publication number
CN102103760A
CN102103760A CN2009102428959A CN200910242895A CN102103760A CN 102103760 A CN102103760 A CN 102103760A CN 2009102428959 A CN2009102428959 A CN 2009102428959A CN 200910242895 A CN200910242895 A CN 200910242895A CN 102103760 A CN102103760 A CN 102103760A
Authority
CN
China
Prior art keywords
anchor point
point object
layout
current
mutual exclusion
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.)
Granted
Application number
CN2009102428959A
Other languages
English (en)
Other versions
CN102103760B (zh
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.)
New Founder Holdings Development Co ltd
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Electronics 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 Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University Founder Group Co Ltd
Priority to CN2009102428959A priority Critical patent/CN102103760B/zh
Publication of CN102103760A publication Critical patent/CN102103760A/zh
Application granted granted Critical
Publication of CN102103760B publication Critical patent/CN102103760B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

本发明提供一种图文互斥的排版方法,包括:根据锚点属性参数值获取锚点和锚点对象之间的相对偏移距离目标值以及锚点对象的初始排版位置;通过反复添加互斥区域进行试排来寻找锚点对象的最佳排版位置;根据最佳排版位置计算重排点,重新排版。相应地,本发明提供一种支持图文互斥的排版系统。通过本发明方法和系统,可实现多种互斥方式的图文绕排效果,而且保持锚点对象跟随锚点流动,特别是在排版区域内有足够空间排下锚点和锚点对象的情况下,锚点和锚点对象之间的相对位置关系保持不变。

Description

一种图文互斥的排版方法和系统
技术领域
本发明涉及一种计算机排版技术,尤其涉及一种图文互斥的排版方法和系统。
背景技术
目前,在计算机排版技术中,锚点功能被广泛使用。通过锚点功能可将文字流中的特定文本作为锚点在其与和与该锚点相关联的对象之间建立锚定关系,从而当作为锚点的字符流动时,与之相关联的对象也跟着流动。这个对象称为锚点对象,是附加或锚定到锚点的对象,比如,与特定字词相关联的旁注、图注、数字或图标。当重排文字流时,锚点对象通常会随着包含锚点的文字流以一定的位置关系一起移动,从而实现图文跟随的效果。因此,锚点功能丰富了排版领域中对象之间的关联性,可以准确地实现对象间的定位操作。
这种基于锚点的图文跟随方法对于向下互斥的锚点对象而言,由于排版后锚点本身在文字流的位置排在锚点对象所在位置之前,所以很容易在保持锚点与锚点对象之间的相对位置关系不变的情况下实现图文混合绕排的效果。而对于向上互斥的锚点对象而言,由于排版后锚点本身在文字流的位置排在锚点对象所在位置之后,所以在做图文跟随效果时,尤其是添加锚点对象的互斥区域时,由于对排版区域的互斥,会导致文字流内的锚点位置发生动态改变,从而导致锚点和锚点对象之间的相对位置发生变化,因此,不容易在保持锚点与锚点对象之间的相对位置关系不变的情况下实现图文混合绕排的效果。因此,在现有的排版软件中,一般只支持向下互斥的图文混合绕排的效果,而对于锚点对象向上互斥,一般都是将锚点对象浮在文字上方,没有文字绕排的效果。
发明内容
为了解决以上图文互斥的问题,本发明提供一种图文互斥的排版方法和系统,以实现锚点对象多种互斥方式的图文混合绕排的效果,同时在同一个排版区域内有足够空间排下锚点和锚点对象的情况下保持二者之间的相对位置关系不变。
为了实现以上目的,本发明提供的支持锚点对象向上互斥的排版方法包括以下步骤:根据用户设置的锚点属性参数值获取锚点和锚点对象之间的相对偏移距离目标值以及锚点对象的初始排版位置;通过在当前排版区域内进行反复试排来寻找将锚点和锚点对象排在当前排版区域内的最佳排版位置,试排中判断在当前排版区域内能否按照用户设置的位置关系排下锚点和锚点对象,如果能排下,则寻找使锚点和锚点对象之间的相对偏移距离等于相对偏移距离目标值的锚点对象最佳排版位置,如果不能排下,则通过反复调整互斥区域大小、然后添加互斥区域进行试排来寻找使锚点和锚点对象能够在当前排版区域内排下的锚点对象最佳排版位置;根据锚点对象的最佳排版位置计算重排点,重新排版。其中,在每次试排时,保持锚点对象位于当前排版位置不动,添加互斥区域,根据排版区域大小、互斥区域大小和锚点对象大小进行文字排版区域划分,计算受到影响的文字流的起始位置作为重排点,并从该重排点位置开始试排。
相应地,本发明提供一种支持锚点对象向上互斥的排版系统,该系统包括:试排单元,根据用户通过锚点参数设置界面设置的锚点属性参数值获取锚点和锚点对象之间的相对偏移距离目标值以及锚点对象的初始排版位置,通过在当前排版区域内进行反复试排来寻找将锚点和锚点对象排在当前排版区域内的最佳排版位置,试排中判断在当前排版区域内能否按照用户设置的位置关系排下锚点和锚点对象,如果能排下,则寻找使锚点和锚点对象之间的相对偏移距离等于相对偏移距离目标值的锚点对象最佳排版位置,如果不能排下,则通过反复调整互斥区域大小、然后添加互斥区域进行试排来寻找使锚点和锚点对象能够在当前排版区域内排下的锚点对象最佳排版位置,并将最佳排版位置发送给重排计算单元;重排计算单元,保持锚点对象位于最佳排版位置,添加互斥区域,根据排版区域大小、互斥区域大小和锚点对象大小进行文字排版区域划分,计算受到影响的文字流的起始位置作为重排点,并将重排点和所划分的区域发送给排版单元。此时,排版单元从重排点开始按照所划分的区域进行排版。
本发明在锚点对象在排版区域中的上限位置和下限位置之间预设锚点对象位置,然后添加互斥区域进行试排,直到找到使锚点和锚点对象排在排版区域内的最佳排版位置为止,然后根据最佳排版位置计算重排点,从重排点开始按照区域划分进行图文混合排版,从而实现多种互斥方式的锚点对象的图文混合绕排的效果,同时保持锚点对象跟随锚点流动,尤其是在同一个排版区域内能够有足够的空间排下锚点和锚点对象的情况下,二者之间的相对位置关系保持不变。
附图说明
图1是根据本发明的图文互斥的排版方法的流程图;
图2是根据本发明的试排过程的流程图;
图3是根据本发明的另一试排过程的流程图;
图4是排版文件排版到锚点位置并设定向上互斥的锚点对象时的效果图;
图5是根据本发明对图4所示排版文件添加向上互斥的锚点对象的效果图;
图6是待添加向上互斥的锚点对象的另一排版文件的示图;
图7根据本发明对图6所示排版文件添加向上互斥的锚点对象的效果图;
图8是根据本发明对简历模板生成的向上互斥的效果图;
图9是根据本发明生成另一向上互斥的效果图;
图10是根据本发明的图文互斥的排版系统的框图。
具体实施方式
本发明方法适用于添加锚点对象互斥区域后将会导致锚点位置发生动态变化的互斥对象,主要目的是实现多种互斥方式的锚点对象的图文混合绕排的效果,同时保持锚点对象跟随锚点流动,从而解决现有技术中只有向下互斥的图文绕排效果的问题,丰富排版效果。以下,将结合附图和实施例对本发明进行详细描述。
图1是根据本发明的图文互斥的排版方法的流程图。参照图1,该方法包括以下步骤:
步骤S1、初始设置步骤
在该步骤中,用户设置锚点对象属性参数,然后根据锚点属性参数值获取锚点和锚点对象之间的相对偏移距离目标值以及锚点对象的初始排版位置。
其中,所述锚点对象属性参数用于对锚点对象进行定位,主要包括锚点对象的锚定类型和偏移参数、九宫位等。锚定类型定义锚点对象的参照对象,可设为页、锚点、栏、框架等。比如,当选择锚定类型为页时,偏移参数表示锚点对象相对于锚点所在页的偏移数值,当选择锚定类型为锚点时,偏移参数表示锚点对象相对于锚点的偏移数值。九宫位表示锚点对象参照锚定类型所指定的参照对象的参照点,包括左上点、中上点、右上点、左中点、中间点、右中点、左下点、中下点和右下点。由于本发明的目的是保持锚点和锚点对象之间的相对位置关系不变,所以优选设置锚定类型为锚点,九宫位选择锚点对象的左上点,此时,根据所设置的偏移参数就可获知所要达到的锚点和锚点对象之间的相对偏移距离目标值。
设置好锚点属性参数值之后,根据此时锚点的位置和所设置的偏移参数计算锚点对象的初始排版位置。比如,在设置锚定类型为锚点的情况下,对于向上互斥,锚点对象的初始排版位置即为设置锚点时锚点的纵向位置减去所设置的偏移参数。
步骤S2、试排步骤
在该步骤中,通过在当前排版区域内进行反复试排来寻找将锚点和锚点对象排在当前排版区域内的最佳排版位置。
具体地讲,在试排过程中判断在当前排版区域内能否按照用户设置的位置关系排下锚点和锚点对象,如果能排下,则寻找使锚点和锚点对象之间的相对偏移距离等于相对偏移距离目标值的锚点对象最佳排版位置,如果不能排下,则通过反复调整互斥区域大小、然后添加互斥区域进行试排来寻找使锚点和锚点对象能够在当前排版区域内排下的锚点对象最佳排版位置。
更具体地讲,首先,通过在当前排版区域内进行反复试排的方法来判断在当前排版区域内能否排下锚点和锚点对象。即,保持锚点对象位于当前位置不动,添加互斥区域,进行文字排版区域划分,计算重排点,然后从该重排点开始试排。当排版到锚点时,获取此时锚点和锚点对象的排版位置,并判断锚点是否和锚点对象在同一个排版区域内。可通过将锚点的横向排版位置和当前排版区域的横向区域做比较来进行判断。如果锚点的横向排版位置在当前排版横向区域范围内,则判断锚点和锚点对象在同一个排版区域内。如果确定在当前排版区域内不能排下锚点和锚点对象,则先减小互斥区域,再进行试排,并在该排版区域内寻找能在当前排版区域内排下锚点和锚点对象的最佳排版位置。如此重复执行试排、判断和重排点计算操作,直到将锚点和锚点对象在当前排版区域内排下。
这里,最佳排版位置有两种含义,在同一个排版区域内有足够空间按照用户设置的位置关系排下锚点和锚点对象的情况下,最佳排版位置是指使锚点和锚点对象之间的相对偏移距离等于相对偏移距离目标值的锚点对象位置,在同一个排版区域内没有足够空间按照用户设置的位置关系排下锚点和锚点对象的情况下,最佳排版位置是指尽量使锚点和锚点对象在同一个排版区域内排下的锚点对象位置。其中,添加互斥区域后进行文字排版区域划分属于现有技术,因此,省略其描述(可参见申请号为200610066880.8的中国专利申请“一种排版领域的图文绕排方法”)。
根据这种技术方案,通过反复试排来寻找锚点对象的最佳排版位置的步骤包括以下步骤:
第一步、通过反复添加互斥区域进行试排来寻找使锚点和锚点对象之间的相对偏移距离等于相对偏移距离目标值的锚点对象最佳排版位置,并在试排的过程中判断在当前排版区域内能否按照用户设置的位置关系排下锚点和锚点对象,如果能排下则继续重复此步骤进行试排寻找最佳位置,如果不能排下,则执行第二步;
第二步、通过反复调整互斥区域大小然后添加大小减小的互斥区域进行试排来寻找使锚点和锚点对象能够在当前排版区域内排下的锚点对象最佳排版位置。
步骤S3、重排点计算及重排步骤
在该步骤中,根据锚点对象最佳排版位置计算重排点,重新排版。具体地,保持锚点对象位于最佳排版位置,根据排版区域大小、互斥区域大小和锚点对象大小进行文字排版区域划分,计算受到影响的文字流的起始位置作为重排点。然后,从重排点开始按照文字排版区域划分进行排版。其中,区域划分与上述试排过程中的区域划分过程相同,从重排点开始按照区域划分进行排版属于现有技术,因此,省略其描述。利用重排点可设定从该点所在字符位置开始排版,这样对于不需要重新排版的文字可以不重新排版,而只对排版结果的位置发生变化的文字进行重新排版,能够提高排版效率。
以下,将参照图2和图3详细描述第一步和第二步中的试排步骤。首先,为了便于描述,设置以下参数:
h:锚点和锚点对象之间的相对偏移距离目标值;
y:锚点对象的排版位置;
z:锚点的排版位置;
H;锚点和锚点对象的排版位置之间的间距,即,相对偏移距离;
low:锚点对象的上限位置;
high:锚点对象的下限位置。
图2是第一步中试排过程的流程图。参照图2,在第一步中,每次试排执行以下步骤:
首先,在步骤S201中,设置锚点对象在当前排版区域内的上限位置和下限位置,以在上限位置和下限位置之间的区间内找到锚点对象的最佳排版位置。
如前所述,本发明旨在实现锚点对象向上互斥的图文绕排效果,而当在排版区域内添加这样的锚点对象时,由于互斥区域(在其区域内不允许排文字,文字在该区域周围形成绕排的效果)对排版区域的互斥,将会导致文字流内的锚点的位置发生动态变化,从而导致锚点和锚点对象之间的相对位置关系发生变化。因此,为了能够在当前排版区域内较快地找到锚点对象的最佳排版位置,可在一定的范围进行试排,然后逐步缩小范围进行多次试排。鉴于这种考虑,首先需要设置锚点对象在排版区域内的上限位置和下限位置。
在试排过程中,可以确定的是,只要锚点和锚点对象能够在当前排版区域内排下,那么锚点对象的位置一定是在排版区域内锚点对象可排的最靠前的上限位置和最靠后的下限位置之间。因此,在第一次试排时,可将锚点对象的上限位置low设为锚点对象在排版区域内的最靠前的位置,下限位置high设置锚点对象在排版区域内的最靠后的位置。在以后试排操作中,则要根据不同的情况调整锚点对象的上限位置low和下限位置high。
接着,在步骤S202中,启动试排,即,保持锚点对象位于当前排版位置,添加互斥区域,根据排版区域大小、互斥区域大小和锚点对象大小进行文字排版区域划分,计算受到影响的需要重新排版的文字流的起始位置作为重排点,并从该重排点位置开始试排。这里,重排点是指在该点位置之后的文字流需要按照添加互斥区域之后所划分的区域进行重新排版,而该位置之前的文字流则不需要再重新排版。比如,可将受到影响的文字流中的第一行文字流中的行首字符作为重排点。
当排版到锚点时,锚点的当前排版位置z相对于前一次试排或初始设置时锚点的位置一般都会发生偏移,从而导致锚点和锚点对象之间的相对位置关系发生动态变化。因此,在步骤S203中,获取锚点对象的当前排版位置y和锚点的当前排版位置z,并在步骤S204中判断当前区域内能否排下锚点和锚点对象。
如果确定不能排下,则转到图3所示的步骤S300,在步骤S300中,减小互斥区域的大小。
如果确定能够排下,则继续在图2的步骤S205中计算这两个排版位置之间的间距H。在步骤S205中计算当前锚点和锚点对象之间的间距H之后,在步骤S206中,判断间距H是否等于目标值h。如果H=h,则执行步骤S207。在步骤S207中,结束试排,并确定当前锚点对象位置即为最佳排版位置。如果H不等于h,则在步骤S208中判断H是否大于h。
如果H<h,则执行步骤S209。在步骤S209中,修改下限位置high,并锚点对象的当前排版位置y和当前上限位置low之间取得新的锚点对象位置。新的锚点对象位置的获取方法可以是,但不限于是,二分算法。然后,从步骤S201开始重复上述步骤。
如果H>h,则执行步骤S210。在步骤S210中,修改上限位置low,并在锚点对象的当前排版位置y和当前下限位置high之间取得新的锚点对象位置。新的锚点对象位置的获取方法可以是,但不限于是,二分算法。然后,从步骤S201开始重复上述步骤。
图3是第二步中试排过程的流程图。在第二步试排过程中,通过减小锚点对象互斥区域的大小来使锚点和锚点对象可在当前排版区域内排下。因此,首先,在步骤S300中,减小互斥区域大小。接着,在步骤S301中,可根据互斥区域的大小来设置上限位置low和下限位置high。比如,可将锚点对象的上限位置low设为减小的互斥区域的大小,下限位置high设置为锚点对象在排版区域内的最靠后的位置。然后,在步骤S302中,保持锚点对象位于当前排版位置不动,添加预留空间减小的互斥区域,根据排版区域大小、减小的互斥区域大小和锚点对象大小进行文字排版区域划分,计算重排点,并从该重排点位置开始试排。当排版到锚点时,在步骤S303中,获取此时锚点和锚点对象的位置,并在步骤S304中判断此时锚点和锚点对象是否在同一个排版区域内,如果不能在同一个排版内,则从步骤S300开始重复以上步骤,继续减小互斥区域大小,并再次进行试排。如果锚点和锚点对象能在同一个排版区域内排下,则转到图2的步骤S205,重复执行图2的步骤。减小互斥区域的方法可以是,但不限于是,每次减小排版一行的高度,或者利用二分法减小互斥区域的大小,即,每次减小互斥区域大小的一半。
通过图2和图3所示的试排方法,可保证在同一个排版区域内排下锚点和锚点对象,特别是在同一个排版区域内有足够空间按照用户设置的位置关系排下锚点和锚点对象的情况下,保持锚点和锚点对象之间的相对位置关系不变,而在同一个排版区域内没有足够空间按照用户设置的位置关系排下锚点和锚点对象的情况下,尽可能地通过减小互斥区域大小来保持锚点和锚点对象之间的相对位置关系不变,并保持锚点对象和锚点在同一个排版区域内。只是,这时已经不是用户所要求的预期效果了,可以提供提示信息给用户,以供用户选择是否继续。
以上参照图1、图2和图3对本发明方法进行了概括性说明。以下,将就锚点对象向上互斥进行举例说明。
(向上互斥的锚点对象)
如前所述,本发明的目的是在同一个排版区域内有足够空间排下锚点和锚点对象的情况下当锚点流动时保持锚点和锚点对象之间的相对偏移距离不变。对于向上互斥而言,就是说,保持锚点和锚点对象之间的相对纵向偏移距离不变。此时,上限位置low是指锚点对象的顶边上限位置,下限位置high是指锚点对象的底边下限位置加上排版区域的底部位置。此外,根据设置九宫位的不同,可进一步缩小上限和下限的范围,本发明以九宫位为左上点为例说明:对于九宫位设置为左上点,则上限位置即为锚点和锚点对象之间的相对偏移距离目标值的负值;下限位置即为排版区域的高度减去锚点和锚点对象之间的相对偏移距离目标值;其他九宫位情况与此类似。锚点对象的当前排版位置y是指锚点对象的顶边当前排版位置,锚点的当前排版位置z是指锚点的当前纵向排版位置,相对偏移距离是指锚点的当前纵向排版位置z和锚点对象的顶边当前排版位置y之间的偏移距离,相对偏移距离目标值的物理意义如图5中字母h所示。
首先,在步骤S1中,如图4所示,当排版到“伍德罗·威尔逊”时,将锚点位置设为“逊”后面的位置,即,图4中箭头所示位置。然后,根据此时锚点的纵向位置和所设置的锚点对象的偏移参数计算锚点对象的初始排版位置。具体地讲,对于向上互斥,锚点对象的初始排版位置为此时锚点的纵向位置坐标值减去偏移参数数值。
接着,在步骤S2中,通过试排寻找锚点对象的最佳排版位置。
具体地,在第一次试排时,考虑到锚点对象在当前整个排版区域内可排的最靠前的位置有可能超出排版区域上限,所以将锚点对象的顶边上限位置low设置为锚点对象高度的负值。另外,考虑到锚点对象在当前整个排版区域内可排的最靠后的位置有可能超过排版区域的下限,所以将锚点对象的底边下限位置high设为排版区域的底部位置加上锚点对象的高度。此外,如上所述,还可以根据九宫位的设置来缩小上限和下限的位置。比如,当九宫位设置为左上点时,上限位置即为锚点和锚点对象之间的相对偏移距离目标值的负值,下限位置即为排版区域的高度减去锚点和锚点对象之间的相对偏移距离目标值。
接着,保持锚点对象不动,添加互斥区域进行试排。当排版到锚点时,获取锚点对象的顶边当前排版位置y和锚点的当前纵向排版位置z,并计算这两个纵向排版位置之间的间距H。如果H<h,则修改下限位置high,并锚点对象的当前纵向排版位置y和当前上限位置low之间取得新的锚点对象位置。优选地,采用二分算法,即,令high=y,y=(y+low)/2。如果H>h,则修改上限位置low,并在锚点对象的当前纵向排版位置y和当前下限位置high之间取得新的锚点对象位置。优选地,采用二分算法,即,令low=y,y=(high+y)/2。经过反复多次试排,直到H=h。
在获取最佳排版位置之后,保持锚点对象位于该位置不动,添加互斥区域,根据排版区域大小、互斥区域大小和锚点对象大小进行文字排版区域的划分,并计算重排点,然后从该重排点开始按照所划分的区域进行排版。图4所示排版文件中添加向上互斥的锚点对象的效果如图5所示。从图5可看出,在当前排版区域内有足够空间排下锚点和锚点对象的情况下,能够实现预期的向上互斥的图文绕排效果,同时保持二者之间的相对纵向偏移距离恒为h。图4所示排版文件为横向排版,但是,本发明同样适用于纵向排版。
对于在试排过程中判断当前排版区域内不能按照所设置的位置关系排下锚点和锚点对象时,则通过减小互斥区域大小来将锚点和锚点对象排下同一个排版区域内。
图6是待添加向上互斥的锚点对象的排版文件,在该排版文件中,将锚点设置在“伍德罗·威尔逊”的后面的字符处。但是,由于锚点位置在当前排版区域内过于靠后,因此,必须通过减小互斥区域的方法来使锚点和锚点对象在当前排版区域内排下,其效果图如图7所示。
从以上方法可看出,本发明通过反复试排,可以达到当锚点和锚点对象在同一个排版区域内流动时二者之间的纵向距离保持相对不变、横向绝对位置不变的图文绕排效果。
图8是按照向上互斥方法对一个简历模板生成的向右互斥的效果图。从图8可看出,锚点设置在“姓名”的前面(如箭头所示),锚点对象照片锚定在锚点的右侧,当锚点流动时,锚点对象将保持图示相对位置关系随锚点一起流动,并对锚点对象周围的文字形成绕排。
同样,图9也是向上互斥的一个例子,锚点对象互斥了锚点右侧的文字内容。
相应地,本发明提供一种支持图文互斥的排版系统。如图10所示,该系统包括锚点参数设置界面10、图文互斥处理单元20、排版单元30和输出单元40。其中,图文互斥单元20进一步包括:试排单元21根据用户通过锚点参数设置界面10设置的锚点属性参数值获取锚点和锚点对象之间的相对偏移距离目标值以及锚点对象的初始排版位置,通过在当前排版区域内添加互斥区域进行反复试排来寻找将锚点和锚点对象排在当前排版区域内的最佳排版位置,在试排过程中如果发现在当前排版区域内不能排下锚点和锚点对象,则通过减小互斥区域的方法进行反复试排来寻找锚点和锚点对象排在该排版区域内的最佳排版位置,并将最佳排版位置发送给重排计算单元22;重排计算单元22,保持锚点对象位于最佳排版位置,添加互斥区域,根据互斥预留空间、锚点对象大小以及文字流内容进行文字排版区域划分,计算受到影响的文字流的起始位置作为重排点,并将重排点和所划分的区域发送给排版单元30。排版单元30从重排点开始按照所划分的区域进行排版,并将排版结果发送给输出单元40。这里,试排单元21和重排计算单元22的操作与上述方法中相应步骤相同,因此,省略其描述。
从以上描述可看出,本发明在排版过程中通过反复添加互斥区域进行试排来寻找最佳排版位置,以使锚点对象能够跟随锚点流动,始终保持在同一个排版区域内排版,尤其是在同一个排版区域内能够有足够的空间按照用户所设置的位置关系排下锚点和锚点对象的情况下,保持当锚点对象随锚点流动时二者之间的相对位置关系不变。即使同一个排版区域内没有足够的空间排下锚点和锚点对象时,也尽可能通过减小互斥区域大小来使锚点和锚点对象能够在该排版区域内按照所设置的位置关系排版。通过这种方法,实现了多种互斥方式的锚点对象的图文绕排效果,极大地丰富了现有的图文互斥效果。
以上参考实施例描述了本发明。但是,本领域的技术人员应该理解,本发明不限于所公开的实施例,在不脱离本发明的基本原理的情况下,任何类似的修改、替换或变形都应包括在本发明的保护范围内。

Claims (9)

1.一种图文互斥的排版方法,包括以下步骤:
步骤1、根据用户设置的锚点属性参数值获取锚点和锚点对象之间的相对偏移距离目标值以及锚点对象的初始排版位置;
步骤2、通过在当前排版区域内添加互斥区域进行反复试排来寻找将锚点和锚点对象排在当前排版区域内的最佳排版位置;
步骤3、根据锚点对象的最佳排版位置计算重排点,重新排版,
其中,在每次试排时,判断在当前排版区域内能否按照用户设置的位置关系排下锚点和锚点对象,如果能够排下,则寻找使锚点和锚点对象之间的相对偏移距离等于相对偏移距离目标值的锚点对象最佳排版位置,如果不能排下,则寻找使锚点和锚点对象能够在当前排版区域内排下的锚点对象最佳排版位置。
2.根据权利要求1所述的方法,其特征在于,所述寻找使锚点和锚点对象之间的相对偏移距离等于相对偏移距离目标值的锚点对象最佳排版位置的步骤包括以下步骤:
设置锚点对象在当前排版区域的上限位置和下限位置;
保持锚点对象位于当前排版位置不动,添加互斥区域,根据排版区域大小、互斥区域大小和锚点对象大小进行文字排版区域划分,计算受到影响的文字流的起始位置作为重排点,并从该重排点位置开始试排;
当排版到锚点时,获取锚点对象的当前排版位置和锚点的当前排版位置,并判断在当前排版区域内能否排下锚点和锚点对象,如果不能排下,则寻找使锚点和锚点对象能够在当前排版区域内排下的锚点对象最佳排版位置,如果能排下,则执行以下步骤:
计算这两个排版位置之间的间距;如果所述间距不等于相对偏移距离目标值,则调整锚点对象当前排版位置、上限位置或下限位置,然后重复上述步骤;
如果所述间距等于相对偏移距离目标值,则确定当前锚点对象位置即为最佳排版位置。
3.根据权利要求2所述的方法,其特征在于,所述寻找使锚点和锚点对象能够在当前排版区域内排下的锚点对象最佳排版位置的步骤包括以下步骤:
减小互斥区域大小;
设置锚点对象在当前排版区域的上限位置和下限位置;
保持锚点对象位于当前排版位置不动,添加互斥区域,根据排版区域大小、互斥区域大小和锚点对象大小进行文字排版区域划分,计算受到影响的文字流的起始位置作为重排点,并从该重排点位置开始试排;
当排版到锚点时,获取锚点对象的当前排版位置和锚点的当前排版位置,并判断同一个排版区域内能否排下锚点和锚点对象,如果不能排下,则重复以上步骤,如果能够排下,则执行以下步骤:
计算这两个排版位置之间的间距;
如果所述间距不等于相对偏移距离目标值,则调整锚点对象当前排版位置、上限位置或下限位置,然后重复上述步骤;
如果所述间距等于相对偏移距离目标值,则确定当前锚点对象位置即为最佳排版位置。
4.根据权利要求2或3所述的方法,其特征在于,所述调整锚点对象当前排版位置、上限位置或下限位置的步骤包括以下步骤:
如果所述间距大于相对偏移距离目标值,则将上限位置设置为锚点对象的当前排版位置,并将锚点对象的排版位置设置为锚点对象的当前排版位置和当前下限位置之间的位置;
如果所述间距小于相对偏移距离目标值,则将下限位置设置为锚点对象的当前排版位置,并将锚点对象的排版位置设置为锚点对象的当前排版位置和当前上限位置之间的位置。
5.根据权利要求4所述的方法,其特征在于,所述锚点对象的当前排版位置和当前上限位置或下限位置之间的位置为这二者之间的二分位置。
6.根据权利要求4所述的方法,其特征在于,在向上互斥的情况下,所述上限位置是指锚点对象在排版区域内的最靠前的位置,所述下限位置是指锚点对象在排版区域内的最靠后的位置,所述锚点对象的当前排版位置是指锚点对象的顶边当前排版位置,所述锚点的当前排版位置是指锚点的当前纵向排版位置,所述相对偏移距离是指锚点的当前纵向排版位置和锚点对象的顶边当前排版位置之间的偏移距离。
7.根据权利要求1所述的方法,其特征在于,所述步骤3包括以下步骤:
保持锚点对象位于最佳排版位置不动,添加互斥区域,根据排版区域大小、互斥区域大小和锚点对象大小进行文字排版区域划分,计算受到影响的文字流的起始位置作为重排点;
从重排点开始按照文字排版区域划分进行排版。
8.一种支持图文互斥的排版系统,包括锚点参数设置界面、排版单元和输出单元,其特征在于,还包括:
试排单元,根据用户通过锚点参数设置界面设置的锚点属性参数值获取锚点和锚点对象之间的相对偏移距离目标值以及锚点对象的初始排版位置,通过在当前排版区域内进行反复试排来寻找将锚点和锚点对象排在当前排版区域内的最佳排版位置,并将最佳排版位置发送给重排计算单元;
重排计算单元,保持锚点对象位于最佳排版位置不动,添加互斥区域,根据排版区域大小、互斥区域大小和锚点对象大小进行文字排版区域划分,计算受到影响的文字流的起始位置作为重排点,并将重排点和所划分的区域发送给排版单元,
此时,排版单元从重排点开始按照所划分的区域进行排版。
9.根据权利要求8所述的系统,其特征在于,所述试排单元执行以下寻找锚点对象的最佳排版位置的操作:
在每次试排时,判断在当前排版区域内能否按照用户设置的位置关系排下锚点和锚点对象,如果能够排下,则寻找使锚点和锚点对象之间的相对偏移距离等于相对偏移距离目标值的锚点对象最佳排版位置,如果不能排下,则寻找使锚点和锚点对象能够在当前排版区域内排下的锚点对象最佳排版位置。
CN2009102428959A 2009-12-18 2009-12-18 一种图文互斥的排版方法和系统 Expired - Fee Related CN102103760B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102428959A CN102103760B (zh) 2009-12-18 2009-12-18 一种图文互斥的排版方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102428959A CN102103760B (zh) 2009-12-18 2009-12-18 一种图文互斥的排版方法和系统

Publications (2)

Publication Number Publication Date
CN102103760A true CN102103760A (zh) 2011-06-22
CN102103760B CN102103760B (zh) 2012-07-25

Family

ID=44156501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102428959A Expired - Fee Related CN102103760B (zh) 2009-12-18 2009-12-18 一种图文互斥的排版方法和系统

Country Status (1)

Country Link
CN (1) CN102103760B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778115A (zh) * 2014-01-09 2015-07-15 北大方正集团有限公司 互斥检测方法及装置
CN112508785A (zh) * 2020-11-28 2021-03-16 华为技术有限公司 一种图片处理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101046798B (zh) * 2006-03-31 2010-05-12 北京北大方正电子有限公司 一种排版领域的图文绕排方法
CN1828580B (zh) * 2006-04-14 2010-05-26 北京北大方正电子有限公司 一种矩阵文字框适应文字内容的排版方法
CN100530242C (zh) * 2007-09-14 2009-08-19 北大方正集团有限公司 一种图文的自动排版方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778115A (zh) * 2014-01-09 2015-07-15 北大方正集团有限公司 互斥检测方法及装置
CN104778115B (zh) * 2014-01-09 2017-08-25 北大方正集团有限公司 互斥检测方法及装置
CN112508785A (zh) * 2020-11-28 2021-03-16 华为技术有限公司 一种图片处理方法及装置

Also Published As

Publication number Publication date
CN102103760B (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
CN104915332A (zh) 一种生成排版模板的方法及装置
CN102789448B (zh) 一种电子数据排版方法及装置
CN1828580B (zh) 一种矩阵文字框适应文字内容的排版方法
CN102722475A (zh) 一种PDF文档中的表格转换成Excel表格的方法
CN102968407B (zh) 双层pdf文件的构造方法及装置
CN102103760B (zh) 一种图文互斥的排版方法和系统
JP2005044279A (ja) 帳票処理方法、帳票処理プログラム、帳票処理装置
CN105139334A (zh) 多行文字水印的制作方法
CN104021112A (zh) 一种基于自动排版的一键成书系统
CN104834457A (zh) 一种触摸屏键盘的自动调节方法和装置
CN102231167A (zh) 一种基于嵌入式浏览器的焦点移动方法及装置
CN103593329A (zh) 一种文字图片重排方法及系统
CN106484388B (zh) 用户界面的实现方法和装置
CN101183358A (zh) 一种排版方法及装置
US8780404B2 (en) Information processing apparatus, method for controlling same, and storage medium on which computer program has been recorded
CN101593455A (zh) 电子地图线状流动注记的配置方法及装置
CN104615587A (zh) 一种电子数据排版方法及装置
JP2008204173A (ja) 文書編集装置、プログラムおよび記憶媒体
CN102103590B (zh) 一种动态添加互斥区域的排版方法及系统
CN100517299C (zh) 一种实现文字行内多种对齐的排版方法
CN102930520A (zh) 一种碎片镶嵌图片的生成方法
US7123261B2 (en) Coordinating grid tracking and mojikumi spacing of Japanese text
JP4998176B2 (ja) 翻訳装置及びプログラム
CN102446362A (zh) 二维对象装填
JP2014017661A (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220623

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871, Beijing, Haidian District, Cheng Fu Road, No. 298, Zhongguancun Fangzheng building, 5 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120725