CN108228552B - 盒子排版方法及装置 - Google Patents

盒子排版方法及装置 Download PDF

Info

Publication number
CN108228552B
CN108228552B CN201611154891.1A CN201611154891A CN108228552B CN 108228552 B CN108228552 B CN 108228552B CN 201611154891 A CN201611154891 A CN 201611154891A CN 108228552 B CN108228552 B CN 108228552B
Authority
CN
China
Prior art keywords
box
typesetting
typeset
array
current
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.)
Expired - Fee Related
Application number
CN201611154891.1A
Other languages
English (en)
Other versions
CN108228552A (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 CN201611154891.1A priority Critical patent/CN108228552B/zh
Publication of CN108228552A publication Critical patent/CN108228552A/zh
Application granted granted Critical
Publication of CN108228552B publication Critical patent/CN108228552B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/189Automatic justification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Preparing Plates And Mask In Photomechanical Process (AREA)

Abstract

本发明提供一种盒子排版方法及装置,其中方法包括:对当前行进行排版,排版过程中每遇到盒子,将盒子标识按顺序保存到未排版数组中,忽略所述盒子,继续根据所述盒子后面的文字进行排版;在排版当前行结束后,判断所述未排版数组中是否有盒子标识;若有盒子标识,则根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版,并在未排版数组中删除已被排版的盒子标识;当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,进行下一行的排版。本发明提供的盒子排版方法及装置,提高了排版整体效率。

Description

盒子排版方法及装置
技术领域
本发明涉及排版技术,尤其涉及一种盒子排版方法及装置。
背景技术
在排版过程中,排版内容除了文字之外,还会有很多的图片、公式或者其他的对象内容,这些除文字以外的对象内容统称为盒子。
当盒子与文字混排时,由于盒子的高度、宽度都和文字有很大差异,往往导致排版结果较差。经常遇到的问题包括:
1:通常盒子都会带有独立成行(独占一行)的属性,那么在盒子所在的上一行,经常出现文字不够一行,强行撑满的情况。
2:在多栏或多页排版中,如果已经排版到当前栏或页的尾部,而剩余的排版高度不够排下盒子,致使盒子被排到了下一栏或下一页,那么就会在当前栏或当前页留下大量空白。
在盒子排版过程中,出现半行强行撑满以及当前栏或页留下大量空白的问题后,需要排版人员进行后期手工精调,费时费力,降低了排版整体效率。
发明内容
本发明提供一种盒子排版方法及装置,用以解决现有技术中对盒子的排版费时费力、效率较低的技术问题。
本发明提供一种盒子排版方法,包括:
对当前行进行排版,排版过程中每遇到盒子,将盒子标识按顺序保存到未排版数组中,忽略所述盒子,继续根据所述盒子后面的文字进行排版;
在排版当前行结束后,判断所述未排版数组中是否有盒子标识;
若有盒子标识,则根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版,并在未排版数组中删除已被排版的盒子标识;
当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,进行下一行的排版。
进一步地,对相应的盒子进行排版,包括:
若所述盒子的属性为行后,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子紧随当前行或段之后放置。
进一步地,所述方法还包括:
若所述盒子的属性为栏沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子排版到当前栏的最下端;
从已排版数组中查找当前栏中属性为栏沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;
将当前盒子的盒子标识及排版位置保存到已排版数组中;
将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
进一步地,所述方法还包括:
若所述盒子的属性为块沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子排版到当前页面的最下端;
从已排版数组中查找当前页面中属性为栏沉底或块沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;
将当前盒子的盒子标识及排版位置保存到已排版数组中;
将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
进一步地,所述方法还包括:
整个文档排版结束后,判断所述未排版数组中是否还有盒子标识;
若有,则按照顺序将对应的盒子排到文档中;
其中,先进入所述未排版数组中的盒子标识先进行排版,后进入所述未排版数组中的盒子标识后进行排版。
本发明还提供一种盒子排版装置,包括:
第一排版模块,用于对当前行进行排版,排版过程中每遇到盒子,将盒子标识按顺序保存到未排版数组中,忽略所述盒子,继续根据所述盒子后面的文字进行排版;
判断模块,用于在排版当前行结束后,判断所述未排版数组中是否有盒子标识;
第二排版模块,用于在有盒子标识时,根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版,并在未排版数组中删除已被排版的盒子标识;
第三排版模块,用于当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,进行下一行的排版。
进一步地,所述第二排版模块具体用于:
在有盒子标识时,根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版;
在未排版数组中删除已被排版的盒子标识;
其中,对相应的盒子进行排版,包括:
若所述盒子的属性为行后,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子紧随当前行或段之后放置。
进一步地,所述第二排版模块还用于:
若所述盒子的属性为栏沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子排版到当前栏的最下端;
从已排版数组中查找当前栏中属性为栏沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;
将当前盒子的盒子标识及排版位置保存到已排版数组中;
将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
进一步地,所述第二排版模块还用于:
若所述盒子的属性为块沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子排版到当前页面的最下端;
从已排版数组中查找当前页面中属性为栏沉底或块沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;
将当前盒子的盒子标识及排版位置保存到已排版数组中;
将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
进一步地,所述第三排版模块还用于:
整个文档排版结束后,判断所述未排版数组中是否还有盒子标识;
若有,则按照顺序将对应的盒子排到文档中;
其中,先进入所述未排版数组中的盒子标识先进行排版,后进入所述未排版数组中的盒子标识后进行排版。
本发明提供的盒子排版方法及装置,通过对当前行进行排版,排版过程中每遇到盒子,将盒子标识按顺序保存到未排版数组中,忽略所述盒子,继续根据所述盒子后面的文字进行排版,在排版当前行结束后,判断所述未排版数组中是否有盒子标识,若有盒子标识,则根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版,并在未排版数组中删除已被排版的盒子标识,当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,进行下一行的排版,能够有效避免半行强行撑满以及当前页面留下大量空白的问题,无需排版人员进行后期手工精调,提高了排版整体效率。
附图说明
图1为本发明实施例一提供的盒子排版方法的流程图;
图2为本发明实施例一提供的盒子排版方法中盒子属性设置示意图;
图3为本发明实施例二提供的盒子排版装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
实施例一
本发明实施例一提供一种盒子排版方法。图1为本发明实施例一提供的盒子排版方法的流程图。如图1所示,本实施例中的盒子排版方法,可以包括:
步骤101、对当前行进行排版,排版过程中每遇到盒子,将盒子标识按顺序保存到未排版数组中,忽略所述盒子,继续根据所述盒子后面的文字进行排版。
具体地,在排版之前,整个文档中盒子和文字的顺序已经被预先定好了。在排版过程中,对当前行进行排版时,依次按照文字的顺序进行排版,排到盒子时,将盒子标识保存到未排版数组中,然后不将该盒子排版到当前行中,而是忽略该盒子,继续对盒子后的文字进行排版,直到排完这一行。
其中,所述盒子标识可以为盒子的名称或代码等,在排版过程中,一行可能与遇到一个盒子,也可能会遇到多个盒子,将当前行排版过程中遇到的盒子按顺序保存到未排版数组中,方便后续步骤中按顺序从未排版数组中取出盒子进行排版。
优选的是,可以将盒子标识和放入未排版数组中的时间对应存储,以区分先后顺序。
步骤102、在排版当前行结束后,判断所述未排版数组中是否有盒子标识。
其中,所述未排版数组中的盒子标识可以是当前行遇到的盒子的标识,也可以是之前某行遇到的、但是一直未能排入页面中的盒子的标识。
步骤103、若有盒子标识,则根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版,并在未排版数组中删除已被排版的盒子标识。
其中,先进入所述未排版数组中的盒子标识先进行排版,后进入所述未排版数组中的盒子标识后进行排版。按照顺序依次将未排版数组中的盒子排入当前页面后,可以在未排版数组中删除对应的盒子标识。
步骤104、当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,进行下一行的排版。
若当前页面未排版的空间不足以排放所述未排版数组中的最靠前的盒子,则进行下一行的排版,能够有效避免当前页面留下大量空白的问题。
所述未排版数组中的盒子标识被清空时,说明已将之前遇到的所有盒子都排版完成了,此时,也可以继续对下一行进行排版,直到整个文档排版结束。
优选的是,盒子的属性可以有四种,包括:行后、段后、栏沉底和块沉底。栏沉底和块沉底的盒子统称为沉底盒子。其中,行后表示盒子放在一行文字的下面,段后表示盒子放在一段文字的下面,栏沉底表示盒子放在一栏的最下方,块沉底表示盒子放在页面的最下方。
在对当前行排版完成后,若当前行不是段落的最后一行,则需要对未排版数组中属性为行后、栏沉底和块沉底的盒子标识进行排版,而不对段后属性的盒子标识进行排版;若当前行是段落的最后一行,则需要对未排版数组中属性为行后、段后、栏沉底和块沉底的盒子标识都进行处理。无论是不是段落的最后一行,都要遵循先进入未排版数组的盒子先被排版的原则。
具体地,步骤103中的中的对相应的盒子进行排版,可以包括:
(1)、若盒子的属性为行后,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;若大于,则将所述盒子紧随当前行之后放置。
其中,当前页面已排版的高度用于表示已排版区域的当前位置,可以等于已排版的文字及盒子(不包括沉底盒子)所占区域的总高度,例如,当前已排版10行文字,每行1cm,则当前排版高度可以为10cm。
当前页面的下边界值,用于表示页面下边界的当前位置,可以等于下边界到排版区域顶端的距离,当有沉底盒子被排入页面时,下边界可能会相应地上移。例如,初始状态下下边界到排版区域顶端的距离为20cm,此时下边界值可以为20cm,当有一个5cm的块沉底盒子被排版到当前页面后,下边界值变为15cm。
假设当前页面的下边界值为15cm,当前页面已排版的高度为10cm,则高度在5cm的盒子才能被排版到当前页面中,若高度大于5cm,则不能被排版到当前页面中。
在盒子排版到当前页面中后,可以根据盒子的高度更新当前页面已排版的高度,更新后的已排版的高度等于原高度加所述盒子的高度。
(2)、若盒子的属性为栏沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;若大于,则将所述盒子排版到当前栏的最下端;从已排版数组中查找当前栏中属性为栏沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;将当前盒子的盒子标识及排版位置保存到已排版数组中;将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
为了能够正确处理沉底盒子,对于已经被排版到页面中的盒子,可以将其盒子标识保存到已排版数组中,供后续查找已被排版的沉底盒子。
在当前页面的下边界值与当前页面已排版的高度之间的差值大于盒子高度时,将盒子排版到当前栏的最下端,即沉底,然后,将之前排入本栏的其它栏沉底的盒子都上移当前盒子的高度,保证盒子的沉底顺序不变。
(3)、若盒子的属性为块沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;若大于,则将所述盒子排版到当前页面的最下端;从已排版数组中查找当前页面中属性为栏沉底或块沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;将当前盒子的盒子标识及排版位置保存到已排版数组中;将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
与栏沉底不同的是,块沉底的盒子是放置在整个页面的最下端。而栏沉底的盒子放置在栏的最下端,在块沉底盒子的上方。在块沉底盒子被排版到页面中后,可以将已排版数组中的块沉底盒子和栏沉底盒子都相应地上移当前盒子的高度,然后将当前盒子的标识放入已排版数组中。
对块沉底或栏沉底盒子排版完成后,可以将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值,即所有栏沉底和块沉底盒子所占区域的上边界相对于排版区域的顶端的高度。
若当前行不是段落的最后一行,则按照上述方法对未排版数组中的行后、栏沉底和块沉底的盒子进行排版即可。若当前行是段落的最后一行,则所述方法还可以包括:
(4)、若盒子的属性为段后,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;若大于,则将所述盒子紧随当前段之后放置。
在当前行排版结束后,在按照顺序对未排版数组中的盒子进行排版的过程中,若盒子的高度小于当前页面的下边界值与当前页面已排版高度之间的差值,则结束对未排版数组中的盒子的排版,直接进行下一行排版,所述未排版数组中的盒子也累计到下一行排版结束后重新进行排版。
在整个文档排版结束后,可以判断所述未排版数组中是否还有盒子标识;若有,则按照顺序将对应的盒子排到文档中。
进一步地,在对盒子进行排版时,可以按照盒子的横向对齐方式合理地放置盒子。所述对齐方式包括:居中、左对齐和右对齐等。
优选的是,盒子的属性和对齐方式都可以由用户实现输入。图2为本发明实施例一提供的盒子排版方法中盒子属性设置示意图。如图2所示,用户可以选择对象智能后移位置:无、下一行、段末、栏沉底和块沉底。
其中,“无”表示该盒子没有智能后移属性,排版时遇到该盒子直接进行排版,而不采用步骤101至104中的方法将其放入未排版数组中等待后续进行排版。“下一行”表示盒子属性为行后,“段末”表示盒子属性为段后,“栏沉底”和“块沉底”分别表示盒子属性为栏沉底和块沉底。
在横向对齐后的三个图标中,用户可以通过点击的方式选择盒子的对齐方式,图中从左至右分别为:左对齐,居中和右对齐。
在实际应用中,对一篇文档进行排版时,对每一行排版都可以用步骤101至104提供的方法完成,即在排版每一行的过程中,均忽略盒子,仅对文字进行排版,因此,不会出现文字不够一行强行占满的情况。在一行结束后,在未排版数组中取出相应的盒子标识,并对对应的盒子进行排版。在当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,可以继续按照步骤101至步骤104进行下一行的排版,直至整个文档排版结束。
本实施例提供的盒子排版方法,通过对当前行进行排版,排版过程中每遇到盒子,将盒子标识按顺序保存到未排版数组中,忽略所述盒子,继续根据所述盒子后面的文字进行排版,在排版当前行结束后,判断所述未排版数组中是否有盒子标识,若有盒子标识,则根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版,并在未排版数组中删除已被排版的盒子标识,当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,进行下一行的排版,能够有效避免半行强行撑满以及当前页面留下大量空白的问题,无需排版人员进行后期手工精调,提高了排版整体效率。
实施例二
本发明实施例二提供一种盒子排版装置。图3为本发明实施例二提供的盒子排版装置的结构框图。如图3所示,本实施例中的装置,可以包括:
第一排版模块201,用于对当前行进行排版,排版过程中每遇到盒子,将盒子标识按顺序保存到未排版数组中,忽略所述盒子,继续根据所述盒子后面的文字进行排版;
判断模块202,用于在排版当前行结束后,判断所述未排版数组中是否有盒子标识;
第二排版模块203,用于在有盒子标识时,根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版,并在未排版数组中删除已被排版的盒子标识;
第三排版模块204,用于当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,进行下一行的排版。
本实施例中的盒子排版装置,可以用于执行实施例一所述的盒子排版方法,其具体实现原理可以参照实施例一,本实施例中不再赘述。
本实施例提供的盒子排版装置,通过对当前行进行排版,排版过程中每遇到盒子,将盒子标识按顺序保存到未排版数组中,忽略所述盒子,继续根据所述盒子后面的文字进行排版,在排版当前行结束后,判断所述未排版数组中是否有盒子标识,若有盒子标识,则根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版,并在未排版数组中删除已被排版的盒子标识,当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,进行下一行的排版,能够有效避免半行强行撑满以及当前页面留下大量空白的问题,无需排版人员进行后期手工精调,提高了排版整体效率。
进一步地,所述第二排版模块203具体用于:
在有盒子标识时,根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版;
在未排版数组中删除已被排版的盒子标识;
其中,对相应的盒子进行排版,包括:
若所述盒子的属性为行后,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子紧随当前行或段之后放置。
进一步地,所述第二排版模块203还用于:
若所述盒子的属性为栏沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子排版到当前栏的最下端;
从已排版数组中查找当前栏中属性为栏沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;
将当前盒子的盒子标识及排版位置保存到已排版数组中;
将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
进一步地,所述第二排版模块203还用于:
若所述盒子的属性为块沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子排版到当前页面的最下端;
从已排版数组中查找当前页面中属性为栏沉底或块沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;
将当前盒子的盒子标识及排版位置保存到已排版数组中;
将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
进一步地,所述第三排版模块204还用于:
整个文档排版结束后,判断所述未排版数组中是否还有盒子标识;
若有,则按照顺序将对应的盒子排到文档中;
其中,先进入所述未排版数组中的盒子标识先进行排版,后进入所述未排版数组中的盒子标识后进行排版。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种盒子排版方法,所述盒子为在排版过程中除文字以外的对象内容,其特征在于,包括:
对当前行进行排版,排版过程中每遇到盒子,将盒子标识按顺序保存到未排版数组中,忽略所述盒子,继续根据所述盒子后面的文字进行排版;
在排版当前行结束后,判断所述未排版数组中是否有盒子标识;
若有盒子标识,则根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版,并在未排版数组中删除已被排版的盒子标识;
当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,进行下一行的排版。
2.根据权利要求1所述的方法,其特征在于,对相应的盒子进行排版,包括:
若所述盒子的属性为行后,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子紧随当前行或段之后放置。
3.根据权利要求2所述的方法,其特征在于,还包括:
若所述盒子的属性为栏沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子排版到当前栏的最下端;
从已排版数组中查找当前栏中属性为栏沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;
将当前盒子的盒子标识及排版位置保存到已排版数组中;
将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
4.根据权利要求2所述的方法,其特征在于,还包括:
若所述盒子的属性为块沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子排版到当前页面的最下端;
从已排版数组中查找当前页面中属性为栏沉底或块沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;
将当前盒子的盒子标识及排版位置保存到已排版数组中;
将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
整个文档排版结束后,判断所述未排版数组中是否还有盒子标识;
若有,则按照顺序将对应的盒子排到文档中;
其中,先进入所述未排版数组中的盒子标识先进行排版,后进入所述未排版数组中的盒子标识后进行排版。
6.一种盒子排版装置,所述盒子为在排版过程中除文字以外的对象内容,其特征在于,包括:
第一排版模块,用于对当前行进行排版,排版过程中每遇到盒子,将盒子标识按顺序保存到未排版数组中,忽略所述盒子,继续根据所述盒子后面的文字进行排版;
判断模块,用于在排版当前行结束后,判断所述未排版数组中是否有盒子标识;
第二排版模块,用于在有盒子标识时,根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版,并在未排版数组中删除已被排版的盒子标识;
第三排版模块,用于当前页面未排版的空间大小不足以排放下一盒子时,或者,所述未排版数组中的盒子标识被清空时,进行下一行的排版。
7.根据权利要求6所述的装置,其特征在于,所述第二排版模块具体用于:
在有盒子标识时,根据当前页面未排版的空间大小,按照进入所述未排版数组的顺序,对相应的盒子进行排版;
在未排版数组中删除已被排版的盒子标识;
其中,对相应的盒子进行排版,包括:
若所述盒子的属性为行后,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子紧随当前行或段之后放置。
8.根据权利要求7所述的装置,其特征在于,所述第二排版模块还用于:
若所述盒子的属性为栏沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子排版到当前栏的最下端;
从已排版数组中查找当前栏中属性为栏沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;
将当前盒子的盒子标识及排版位置保存到已排版数组中;
将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
9.根据权利要求7所述的装置,其特征在于,所述第二排版模块还用于:
若所述盒子的属性为块沉底,则判断当前页面的下边界值与当前页面已排版的高度之间的差值是否大于所述盒子的高度;
若大于,则将所述盒子排版到当前页面的最下端;
从已排版数组中查找当前页面中属性为栏沉底或块沉底的盒子标识,将对应的盒子的位置上移当前盒子的高度;
将当前盒子的盒子标识及排版位置保存到已排版数组中;
将当前页面的下边界值更新为当前页面所有栏沉底和块沉底盒子所占区域的上边界值。
10.根据权利要求6-9任一项所述的装置,所述第三排版模块还用于:
整个文档排版结束后,判断所述未排版数组中是否还有盒子标识;
若有,则按照顺序将对应的盒子排到文档中;
其中,先进入所述未排版数组中的盒子标识先进行排版,后进入所述未排版数组中的盒子标识后进行排版。
CN201611154891.1A 2016-12-14 2016-12-14 盒子排版方法及装置 Expired - Fee Related CN108228552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611154891.1A CN108228552B (zh) 2016-12-14 2016-12-14 盒子排版方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611154891.1A CN108228552B (zh) 2016-12-14 2016-12-14 盒子排版方法及装置

Publications (2)

Publication Number Publication Date
CN108228552A CN108228552A (zh) 2018-06-29
CN108228552B true CN108228552B (zh) 2020-10-16

Family

ID=62651112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611154891.1A Expired - Fee Related CN108228552B (zh) 2016-12-14 2016-12-14 盒子排版方法及装置

Country Status (1)

Country Link
CN (1) CN108228552B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113505565B (zh) * 2021-05-25 2024-02-13 北京北大方正电子有限公司 页面对象组合方法、装置、电子设备、介质及程序产品

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604074A (zh) * 2004-11-22 2005-04-06 北京北大方正技术研究院有限公司 一种对图文互斥分栏串文版面确定文字阅读顺序的方法
CN101123002A (zh) * 2007-09-14 2008-02-13 北大方正集团有限公司 一种图文的自动排版方法
CN101231633A (zh) * 2007-01-23 2008-07-30 北京北大方正电子有限公司 一种包括嵌套框对象的排版方法和装置
TW201128412A (en) * 2010-02-11 2011-08-16 Jieh Hsiang Typesetting method for image text file
CN103678421A (zh) * 2012-09-25 2014-03-26 北京大学 一种修改电子公文的方法和装置
CN103678267A (zh) * 2012-09-17 2014-03-26 腾讯科技(深圳)有限公司 一种图文混合内容的排版和渲染方法及系统
CN104021112A (zh) * 2014-06-23 2014-09-03 时代新媒体出版社有限责任公司 一种基于自动排版的一键成书系统
CN104021113A (zh) * 2014-06-23 2014-09-03 时代新媒体出版社有限责任公司 一种基于自动排版的一键成书方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135223B2 (en) * 2010-01-15 2015-09-15 Apple Inc. Automatically configuring white space around an object in a document

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604074A (zh) * 2004-11-22 2005-04-06 北京北大方正技术研究院有限公司 一种对图文互斥分栏串文版面确定文字阅读顺序的方法
CN101231633A (zh) * 2007-01-23 2008-07-30 北京北大方正电子有限公司 一种包括嵌套框对象的排版方法和装置
CN101123002A (zh) * 2007-09-14 2008-02-13 北大方正集团有限公司 一种图文的自动排版方法
TW201128412A (en) * 2010-02-11 2011-08-16 Jieh Hsiang Typesetting method for image text file
CN103678267A (zh) * 2012-09-17 2014-03-26 腾讯科技(深圳)有限公司 一种图文混合内容的排版和渲染方法及系统
CN103678421A (zh) * 2012-09-25 2014-03-26 北京大学 一种修改电子公文的方法和装置
CN104021112A (zh) * 2014-06-23 2014-09-03 时代新媒体出版社有限责任公司 一种基于自动排版的一键成书系统
CN104021113A (zh) * 2014-06-23 2014-09-03 时代新媒体出版社有限责任公司 一种基于自动排版的一键成书方法

Also Published As

Publication number Publication date
CN108228552A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
CN105589841B (zh) 一种pdf文档表格识别的方法
US6044383A (en) Tabulation device
US6144974A (en) Automated layout of content in a page framework
CN105159877B (zh) 一种跨媒体自动排版系统及其方法
CN106326854A (zh) 一种版式文档段落识别方法
CN101206639A (zh) 一种基于pdf的复杂版面的标引方法
CN108228552B (zh) 盒子排版方法及装置
CN103886023A (zh) Excel数据表的存储、提取方法及系统
US10762377B2 (en) Floating form processing based on topological structures of documents
CN111460204A (zh) 电子工程图纸的子图提取方法、装置、存储介质及终端
DE102009045039A1 (de) Navigationsvorrichtung und -programm
CN100517299C (zh) 一种实现文字行内多种对齐的排版方法
US5043936A (en) Document editing system including operator assistance for hyphenation
CN113255289A (zh) 一种文案排版布局的方法及系统
CN106446863B (zh) 一种pdf文档逻辑图识别的方法
CN110740221B (zh) 信息处理装置
CN101714149B (zh) 一种反解版式文件后得到的图片和图说的自动关联方法
CN113011150B (zh) 一种报纸的排版系统及方法
CN101673406B (zh) 字体设置方法和装置
CN102053957B (zh) 一种自动捕捉到空白版面特定位置的方法及装置
CN106128970A (zh) 一种量测工序的智能抽样方法及系统
CN102591845A (zh) 一种重叠文字的处理方法和装置
CN114675824A (zh) 布局文件生成方法、装置、电子设备及存储介质
CN105653587B (zh) 异源异构数据清洗方法及其系统
US20140240320A1 (en) Smart Timelines

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
TR01 Transfer of patent right

Effective date of registration: 20230616

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, 9 floor

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

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

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

Granted publication date: 20201016

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