文件编辑中的对象位置处理方法

文档序号:6651336阅读:223来源:国知局
专利名称:文件编辑中的对象位置处理方法
技术领域
本发明涉及一种文件编辑中的对象位置处理方法,尤其是一种在文件编辑中,自动将对象设置于指定位置的处理方法。
背景技术
在文件编辑中,由于文件格式的需要,经常需要将某些对象置于指定的位置,例如,我国国家标准《GB/T 9704-1999国家行政机关公文格式》严格规定了政府公文的组成和排版要求,公文由眉首、主体、版记三部分组成置于公文首页红色反线以上的各要素统称眉首;置于红色反线(不含)以下至主题词(不含)之间的各要素统称主体;置于主题词以下的各要素统称版记。眉首,置于公文首页红色反线以上的各要素;主体,置于红色反线(不含)以下至主题词(不含)之间的各要素;版记,置于主题词以下的各要素。按照排列顺序,版记包含的内容依次为主题词、抄送机关、发文机关和发文日期、版记中的反线、版记的位置等部分。对于版记的排版位置要求为版记应置于公文最后一面,版记的最后一个要素置于最后一行。所谓“最后一面”对应文字处理软件就是偶数页,如第2、4页,因为公文首页一般是奇数页,如第1页;所谓“最后一行”就是相当于和页边距底端对齐。
现有文字处理软件中,在用户编辑导致内容变化时,文字处理软件会逐一地对每个发生变化的页面进行重新布局;在对页面布局时,是逐一地对发生变化的段落进行布局的;在对段落布局时,是先对段落中的文本进行布局,然后对发生坐标变化的段落中的对象进行布局,根据对象的水平对齐属性和垂直对齐属性调整对象的坐标。在这种方案中,对象前的内容增减会导致对象位置的变化,当用户希望将对象定位于特定页面时,变化后的对象位置往往不符合预先的定位,此时还需通过手工对对象重新定位。例如,再插入版记时,利用自由表格的现有“垂直定位到页面下边距”功能将版记定位到公文最后一页的底边,如果对公文进行编辑,导致内容的增加或减少,那么版记所在的页面也会随着变化,如果公文最后一页是偶数页,则不需要特殊处理,符合公文标准的“最后一面”要求;如果公文最后一页是奇数页,那么用户必须在版记前手工插入一“分页符”,将版记移动到下一页以符合“最后一面”的要求。
因此,现有的方法虽然在一定程度上可以满足用户的需求,但还是存在一定的缺陷无法自动保证对象位于指定页面,必须辅助以用户的手工调节,特别是,每次当文件页数发生变化时,都要对对象的位置进行再次调整,这会严重影响用户的工作效率。

发明内容
本发明的目的在于针对现有技术所存在的缺陷,提供一种文件编辑中的对象位置处理方法,该方法能自动调整对象的位置,实现将对象置于指定页面。
为了实现上述目的,本发明提供了一种文件编辑中的对象位置处理方法,其中在对段落中的对象进行布局时,执行以下步骤步骤1、布局程序取得对象的水平对齐属性,按照所述水平对齐属性调整所述对象的水平坐标;步骤2、所述布局程序取得所述对象的垂直对齐属性,判断所述对象是否具有预先设定的定位属性参数,若有,执行步骤3;否则,执行步骤4;步骤3、所述布局程序按照所述定位属性参数,调整所述对象的垂直坐标;步骤4、所述布局程序按照所述垂直对齐属性中的垂直位置参数,调整所述对象的垂直坐标;步骤5、结束。
在上述技术方案中,当定位属性参数表明将所述对象定位于文件的最后一个页面时,所述步骤3具体为所述布局程序删除所述对象前的所有空白页面;所述布局程序判断所述对象是否位于所述文件的最后一面,若是,执行步骤5,否则,所述布局程序在所述文件中插入一空白页面,调整所述对象位于所述文件的最后一面,执行步骤5。
当定位属性参数表明将所述对象定位于所述文件中的一指定页面,所述步骤3具体为所述布局程序删除所属对象前的空白页面;所述布局程序判断所述对象是否位于所述指定页面,若是,执行步骤5,否则所述布局程序判断所述文件中是否存在所述指定页面,若存在,所述布局程序将所述对象移动到所述指定页面,执行步骤5,否则,所述布局程序在所述文件的最后增加空白页面,使所述文件的总页数等于所述指定页面的编码,并将所述对象移动到所述指定页面,执行步骤5;或者,所述布局程序判断所述对象是否位于所述指定页面,若是,执行步骤5,否则,所述布局程序判断所述文件中是否存在所述指定页面,若存在,所述布局程序将所述对象移动到所述指定页面,判断所述对象后是否存在空白页面,若存在,删除所属对象后的空白页面,执行步骤5,否则,执行步骤5,若所述文件中不存在所述指定页面,所述布局程序在所述文件后增加空白页面,使所述文件的总页数等于所述指定页面的编码,并将所述对象移动到所述指定页面,执行步骤5。
当定位属性既可以是表明将所述对象定位于所述文件的最后一面,也可以使表明将所述对象定位于所述文件的指定页面时,所述步骤3具体为步骤340、所述布局程序删除所述对象前的空白页;步骤341、所述布局程序判断所述对象的定位属性参数是否表明将所属对象定位于最后一面,若是,执行步骤350,否则,执行步骤360;步骤350、所述布局程序判断所述对象是否位于所述文件的最后一面,若是,执行步骤5;否则,执行步骤351;步骤351、所述布局程序在所述对象前插入空白页面,执行步骤5;步骤360、所述布局程序判断所述对象是否位于所述指定页面,若是,执行步骤5,否则执行步骤361;步骤361、所述布局程序判断所述文件中是否存在所述指定页面,若存在,执行步骤362,否则,执行步骤363;步骤362、所述布局程序将所述对象移动到所述指定页面,执行步骤5;步骤363、所述布局程序在所述文件的最后增加空白页面,使所述文件的总页数等于所述指定页面的编码,并将所述对象移动到所述指定页面,执行步骤5。
本发明的技术方案实现了在文件编辑过程中,如果对象之前的内容发生变化,布局程序能根据用户设定的定位属性参数,自动将对象调整到用户期望的位置,从而使用户对文件的编辑更为方便和灵活。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1a和图1b为本发明文字编辑中的对象位置处理方法实施例一流程图。
图2为本发明文字编辑中的对象位置处理方法实施例二流程图。
图3为本发明文字编辑中的对象位置处理方法实施例三流程图。
图4a和图4b为本发明文字编辑中的对象位置处理方法实施例四流程图。
具体实施例方式
本发明对传统文字处理布局算法进行改进,增加将对象“定位于指定页”的功能,从而可以保证将对象位于特定页面,实现对象位置的自动化调整,保证无论文件内容如何变化,对象必定位于用户指定的页面。
对所有需要特殊定位的对象增加一个定位属性参数,用于引导布局程序进入特殊定位布局流程,以根据该定位属性参数将对象定位于指定页。
对现有的位置处理算法进行改进,普通对象按照通用流程处理,“特殊定位”对象需要进入特殊定位流程。
实施例一本实施例中,为用户提供将对象定位于“最后一面”的功能,在用户通过设置定位属性参数时,只提供“最后一面”选项,用户通过选择该选项,将对象设置为位于“最后一面”。在本发明中,将“最后一面”定义为文件的最后一页,并且该页为偶数页,特别适用于公文中的版记对象。布局程序在布局时,根据对象的该属性,对对象的位置进行调整,若对象位于奇数页,则在对象前插入一空白页,以使对象总是位于文件的最后一面。如图1a和图1b所示,为本实施例流程图,其中A、B两处为两图的连接处,本实施例的方法包括以下步骤步骤101、用户设定对象的定位属性参数;用户在设定公文中的版记对象的位置参数时,设定垂直对齐属性中的定位属性参数为“最后一面”。
步骤102、在用户编辑文件,导致对象前的内容变化时,文件编辑进程向布局程序发出布局指令;如果用户对文档内容进行编辑,会引起对象前面的内容增加或者减少,如删去一个表格,会导致表格后的对象向上移动,首先对页面按照普通的布局流程对页面进行布局,然后对具有定位属性参数的对象按照相应的特殊布局处理流程处理,普通对象可能会因为文档内容的减少移动到新的页面,对于具有“定位属性参数”的对象,布局程序会通过相应的特殊布局处理流程将对象调整到正确的位置。
步骤103、布局程序接收到布局指令后,从编辑点所在页开始,对发生变化的页面进行布局;布局程序对发生变化的页面逐一进行重新布局。
步骤104、布局程序取得发生变化的,并且待重新布局的一个页面;步骤105、布局程序取得该页面中发生变化的,并且待重新布局的一个段落;
步骤106、布局程序对该段落中的文本进行布局;步骤107、布局程序判断该段落的坐标是否发生了变化,若发生了变化,执行步骤110;否则执行步骤120;步骤110、布局程序取得当前段落待布局的一个对象;步骤111、布局程序取得对象的水平对齐属性,按照对象的水平对齐属性调整对象的水平坐标;步骤112、布局程序取得对象的垂直对齐属性;步骤113、布局程序判断对象是否为具有“定位属性参数”的对象,若是,执行步骤114,否则,执行步骤118;用户若没有对对象的定位属性参数进行设定,那么该对象就不具有定位属性参数;用户若对对象的定位属性参数进行了设定,由于只提供了“最后一面”选项,因此,该对象是应该位于文件最后一面的对象。
步骤114、布局程序判断对象是否符合定位属性参数,若是,执行步骤119;否则,执行步骤115;用户设置对象的定位属性为“最后一面”,因此此步骤即判断对象是否位于最后一面,在用户设置对象的定位属性参数为“最后一面”后,文字处理程序将不允许在该对象后面增加内容,对对象前的内容进行编辑时,对象会一直位于文件的最后,但有可能由于前面内容的增加或减少而移动到奇数页,若对象在奇数页,则需插入一空白页,若对象在偶数页则不需调整。
步骤115、布局程序判断对象前是否存在空白页,若存在,执行步骤116,否则,执行步骤117;步骤116、删除对象前的所有空白页;空白页与插入分页符生成新页是不同的,插入分页符会引起编辑段落对象的变化,可能出现在文件的任何位置,而本方法中的空白页只会在文件页数不满足要求时出现在文件的最后一页之前。
先将对象前的空白页删除,从而避免对象前有多余的空白页,即如果对象位于奇数页,并且在此之前,为了保证对象位于最后一面,已经添加了空白页,而由于用户添加或减少了内容,使对象再次位于奇数页,那么为了保证对象位于最后一面,就要再插入一个页面,从而导致对象所在页之前有两个空白页,若在添加空白页之前先将对象前的空白页删除,那么此时,对象正好位于偶数页,不需再插入空白页,从而就不会出现对象前有多余空白页的情况。
步骤117、布局程序在对象前插入一空白页面,执行步骤119;本步骤中,也可在文件最后插入一空白页,然后将对象移动到最后一面。
步骤118、布局程序按照定位属性参数之外的垂直位置参数调整对象的垂直坐标;例如,垂直位置参数为“垂直绝对位置”为距页面下侧3厘米,那么就将对象调整到距当前页下侧3厘米的位置,再如,垂直位置参数为“相对位置”为相对段落居中,那么就将对象调整到当前段落的中部。
步骤119、布局程序判断当前段是否存在待布局的对象,若存在,执行步骤110,否则,执行步骤120;步骤120、布局程序判断当前页是否存在待布局的段落,若存在,执行步骤105,否则,执行步骤121;步骤121、布局程序判断是否存在待布局的页面,若存在,执行步骤104,否则,执行步骤123;步骤122、结束。
本实施例实现了将对象定位于文件的最后一面,从而在用户设置公文中的版记时,可以保证版记对象总是位于最后一面,而不需辅以手工调整。
实施例二本实施例中,为用户提供将对象定位于“指定页面”的功能,在用户通过设置定位属性参数时,只提供“指定页面”选项,并允许用户输入指定页面的页码,用户通过选择该选项以及输入指定页面的页码,可将对象设置为位于“指定页面”。在布局程序布局的过程中,根据该参数自动实现对象的正确定位。
由于本实施例与实施例一的定位属性参数不同,实施例一为“最后一面”,而本实施例为可指定页码的“指定页面”,因此,在布局过程中,本实施例的步骤与实施例一的步骤的区别在于对对象布局的流程不同实施例一是通过步骤115至步骤117实现了将对象定位于最后一面,而本实施例是通过如下步骤实现将对象定位于指定页面。本实施例的其他步骤与实施例一相同。因此如图2所示,仅给出了本实施例将对象定位于指定页面的流程图,在布局程序判断对象不符合定位属性参数,即不再指定页面时,需要对对象进行调整,执行以下步骤步骤201、布局程序判断对象前是否存在空白页,若存在,执行步骤202,否则,执行步骤203;步骤202、删除对象前的所有空白页;步骤203、布局程序判断文件中是否包含指定页面,若是,执行步骤204,否则,执行步骤205;例如,用户在设定参数时,设定对象位于文件的第3页,而文件总页数为6页,那么,文件中就包含第3页,若文件总共只有2页,那么文件中就不包含第3页。
步骤204、布局程序将对象移动到指定页面,执行步骤206;当文件中包含指定页时,布局程序直接将对象移动到指定页面。
步骤205、布局程序在文件的最后增加空白页面,使文件的总页数等于指定页面的编码,并将对象移动到指定页面,执行步骤206。
例如,文件共有3页,指定页面为第6页,那么需要在文件最后添加3个空白页面,使文件共有6页,然后将对象移动到第6页。
步骤206、布局程序完成根据定位属性参数对当前对象的定位调整。
本实施例实现了将对象定位于文件的指定页面,从而在用户设置特定对象时,可以保证对象总是位于该指定页面,而不需辅以手工调整。
实施例三本实施例中,仍为用户提供将对象定位于“指定页面”的功能,与实施例二的不同之处在于,在布局程序判断对象不是位于指定页面时,并不先将对象前的所有空白页删除,而是在后续的处理中,删除不需要空白页。如图3所示,为本实施例将对象定位于指定页面的流程图,执行以下步骤步骤301、布局程序判断文件中是否包含指定页面,若是,执行步骤302,否则,执行步骤305;步骤302、布局程序将对象移动到指定页面;步骤303、布局程序判断对象后是否存在空白页面,若存在,执行步骤304,否则,对该对象的操作完成;步骤304、布局程序删除对象后的空白页,对该对象的操作完成;步骤305、布局程序在文件的最后增加空白页面,使文件的总页数等于指定页面的编码,并将对象移动到指定页面,对该对象的操作完成。
步骤306、布局程序完成根据定位属性参数对当前对象的定位调整。
实施例四本实施例中,在用户设置“定位属性参数”时,既为用户提供将对象定位于“最后一面”的选项,也为用户提供将对象定位于“指定页面”的选项。如图4a和图4b所示,为本实施例流程图,其中C、D两处为两图的连接处,本实施例的方法执行以下步骤步骤401、用户设定对象的定位属性参数;步骤402、在用户编辑文件,导致对象前的内容变化时,文件编辑进程向布局程序发出布局指令;步骤403、布局程序接收到布局指令后,从编辑点所在页开始,对发生变化的页面进行布局;步骤404、布局程序取得发生变化的,并且待重新布局的一个页面;
步骤405、布局程序取得该页面中发生变化的,并且待重新布局的一个段落;步骤406、布局程序对该段落中的文本进行布局;步骤407、布局程序判断该段落的坐标是否发生了变化,若发生了变化,执行步骤410;否则执行步骤440;步骤410、布局程序取得当前段落待布局的一个对象;步骤411、布局程序取得对象的水平对齐属性,按照对象的水平对齐属性调整对象的水平坐标;步骤412、布局程序取得对象的垂直对齐属性;步骤413、布局程序判断对象是否为具有“定位属性参数”的对象,若是,执行步骤415,否则,执行步骤414;步骤414、布局程序按照定位属性参数之外的垂直对齐属性调整对象的垂直坐标,执行步骤;步骤415、布局程序判断对象前是否存在空白页面,若存在,执行步骤416,否则,执行步骤417;步骤416、布局程序删除对象前的空白页;步骤417、布局程序判断对象的“定位属性参数”是否为“最后一面”,若是,执行步骤420,否则,执行步骤430;判断“定位属性参数”是“最后一面”,还是“指定页面”,若是“最后一面”则按照“最后一面”的流程对对象进行布局,若是“指定页面”则按照“指定页面”的流程进行布局。
步骤420、布局程序判断对象是否位于文件的最后一面,若是,执行步骤440;否则,执行步骤421;步骤421、布局程序在对象前插入一空白页,执行步骤440;步骤430、布局程序判断对象是否位于指定页面,若是,执行步骤440,否则执行步骤431;
步骤431、布局程序判断文件中是否包含指定页面,若是,执行步骤432,否则,执行步骤433;步骤432、布局程序将对象移动到指定页面,执行步骤440;步骤433、布局程序在文件的最后增加空白页面,使文件的总页数等于指定页面的编码,并将对象移动到指定页面;步骤418、布局程序判断当前段是否存在待布局的对象,若存在,执行步骤410,否则,执行步骤440;步骤440、布局程序判断当前页是否存在待布局的段落,若存在,执行步骤405,否则,执行步骤440;步骤441、布局程序判断是否存在待布局的页面,若存在,执行步骤404,否则,执行步骤442;步骤442、结束。
本实施例实现了为用户提供多种定位属性参数选择,用户既可以将对象设定为位于“最后一面”,也可以将对象设定为位于“指定页面”,从而更加方便了用户的使用。
最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所述领域的普通技术人员应当理解,依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1.一种文件编辑中的对象位置处理方法,其中在对段落中的对象进行布局时,执行以下步骤步骤1、布局程序取得对象的水平对齐属性,按照所述水平对齐属性调整所述对象的水平坐标;步骤2、所述布局程序取得所述对象的垂直对齐属性,判断所述对象是否具有预先设定的定位属性参数,若有,执行步骤3;否则,执行步骤4;步骤3、所述布局程序按照所述定位属性参数,调整所述对象的垂直坐标;步骤4、所述布局程序按照所述垂直对齐属性中的垂直位置参数,调整所述对象的垂直坐标;步骤5、所述布局程序完成对所述对象的布局。
2.根据权利要求1所述的方法,其中所述步骤2中的定位属性参数表明将所述对象定位于文件的最后一个页面时,所述步骤3具体为步骤310、所述布局程序删除所述对象前的所有空白页面;步骤311、所述布局程序判断所述对象是否位于所述文件的最后一面,若是,执行步骤5,否则,执行步骤312;步骤312、所述布局程序在所述文件中插入一空白页面,调整所述对象位于所述文件的最后一面,执行步骤5。
3.根据权利要求2所述的方法,其中所述步骤312具体为所述布局程序在所述对象前插入一空白页面,使所述对象位于所述文件的最后一面,执行步骤5。
4.根据权利要求2所述的方法,其中所述步骤312具体为所述布局程序在所述文件最后插入一空白页面,并将所述对象移动到该空白页面,执行步骤5。
5.根据权利要求1所述的方法,其中所述步骤2中的定位属性参数表明将所述对象定位于所述文件中的一指定页面时,所述步骤3具体为步骤320、所述布局程序删除所属对象前的空白页面;步骤321、所述布局程序判断所述对象是否位于所述指定页面,若是,执行步骤5,否则执行步骤322;步骤322、所述布局程序判断所述文件中是否存在所述指定页面,若存在,执行步骤323,否则,执行步骤324;步骤323、所述布局程序将所述对象移动到所述指定页面,执行步骤5;步骤324、所述布局程序在所述文件的最后增加空白页面,使所述文件的总页数等于所述指定页面的编码,并将所述对象移动到所述指定页面,执行步骤5。
6.根据权利要求1所述的方法,其中所述步骤2中的定位属性参数表明将所述对象定位于所述文件中的一指定页面时,所述步骤3具体为步骤330、所述布局程序判断所述对象是否位于所述指定页面,若是,执行步骤5,否则执行步骤331;步骤331、所述布局程序判断所述文件中是否存在所述指定页面,若存在,执行步骤332,否则,执行步骤335;步骤332、所述布局程序将所述对象移动到所述指定页面;步骤333、所述布局程序判断所述对象后是否存在空白页面,若存在执行步骤334,否则,执行步骤5;步骤334、所述布局程序删除所属对象后的空白页面;步骤335、所述布局程序在所述文件后增加空白页面,使所述文件的总页数等于所述指定页面的编码,并将所述对象移动到所述指定页面,执行步骤5。
7.根据权利要求1所述的方法,其中所述步骤2中的定位属性参数表明将所述对象定位于所述文件的最后一面或指定页面时,所述步骤3具体为步骤340、所述布局程序删除所述对象前的空白页;步骤341、所述布局程序判断所述对象的定位属性参数是否表明将所属对象定位于最后一面,若是,执行步骤350,否则,执行步骤360;步骤350、所述布局程序判断所述对象是否位于所述文件的最后一面,若是,执行步骤5;否则,执行步骤351;步骤351、所述布局程序在所述对象前插入空白页面,执行步骤5;步骤360、所述布局程序判断所述对象是否位于所述指定页面,若是,执行步骤5,否则执行步骤361;步骤361、所述布局程序判断所述文件中是否存在所述指定页面,若存在,执行步骤362,否则,执行步骤363;步骤362、所述布局程序将所述对象移动到所述指定页面,执行步骤5;步骤363、所述布局程序在所述文件的最后增加空白页面,使所述文件的总页数等于所述指定页面的编码,并将所述对象移动到所述指定页面,执行步骤5。
全文摘要
本发明涉及一种文件编辑中的对象位置处理方法,其中在对段落中的对象进行布局时,布局程序取得对象的水平对齐属性,按照水平对齐属性调整对象的水平坐标;布局程序取得对象的垂直对齐属性,判断对象是否具有预先设定的定位属性参数,若有,布局程序按照定位属性参数,调整对象的垂直坐标;否则,布局程序按照垂直对齐属性中的垂直位置参数,调整对象的垂直坐标。本发明的技术方案实现了在文字编辑过程中,根据用户设定的定位属性参数,自动将对象调整到用户期望的位置,如“最后一面”或“指定页面”,从而使用户对文件的编辑更为方便和灵活。
文档编号G06F17/24GK1776667SQ20051013036
公开日2006年5月24日 申请日期2005年12月9日 优先权日2005年12月9日
发明者庄国林 申请人:无锡永中科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1