System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及pdf(portable document format,便携式文档格式文件)转化,尤其是涉及一种pdf文件的生成方法、装置和电子设备。
技术介绍
1、目前,现有的排版生成pdf文件的方式,大多都是采取全量排版算法实现。实际排版过程中,很多内容的添加、修改、删除,都是基于当前操作单元的行为,并不需要对文件整体重新算法计算排版输出pdf,因此全量排版算法输出的效率相对较低,不能满足即排即输出pdf的需求。
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种pdf文件的生成方法、装置和电子设备,以将整个文档排版缩小为当前修改区域小域排版及页、块、栏、段、行的已排版内容重组,大大提升排版效率。
2、第一方面,本专利技术实施例提供了一种pdf文件的生成方法,方法包括:基于目标文件的单元生成全量pdf文件和索引文件;其中,目标文件的单元包括目标文件的页、块、栏、段、行;全量pdf文件是以每一个单元独立为pdf页的组合pdf文件;索引文件包括目标文件的各个单元的描述信息;当对目标文件进行排版处理时,获取目标文件的当前修改区域位置,基于当前修改区域将目标文件按页分解为页前固化页、当前修改页和页后重构页;确定索引文件中的页前固化页的页单元描述信息,以及全量pdf文件中的页前固化页对应的页单元pdf,将页前固化页的页单元pdf拼合写入新pdf文件;确定索引文件中的当前修改页的固定块,基于索引文件中的层顺序将当前修改页的固定块单元pdf按坐标矩阵位置拼合写入新pdf文件
3、在本申请可选的实施例中,上述索引文件用于标识每一个单元的所在页、所在页对应的栏、坐标矩阵、高度、排版连接顺序、层顺序、单元内容类型,索引文件还用于为每一个单元分配一个唯一id。
4、在本申请可选的实施例中,上述基于当前修改区域将目标文件按页分解为页前固化页、当前修改页和页后重构页的步骤,包括:将目标文件中当前修改区域所处的页面划分为当前修改页;将目标文件中页数在当前修改区域之前的页面划分为页前固化页;将目标文件中页数在当前修改区域之后的页面划分为页后重构页。
5、在本申请可选的实施例中,上述当对目标文件进行排版处理时,获取目标文件的当前修改区域位置的步骤之后,方法还包括:响应对于当前修改区域的目标段落的修改,对目标段落的段落环境版面进行小区域排版,输出当前修改区域的排版结果pdf。
6、在本申请可选的实施例中,上述基于当前修改区域是否动版将当前修改页的各单元pdf和页后重构页的各单元pdf拼合写入新pdf文件的步骤,包括:如果当前修改区域没有动版,读取索引文件中的当前修改页的当前修改区域之外的块单元、栏单元、段落单元、行单元,基于索引文件中的层顺序将当前修改区域之外的单元pdf和当前修改区域的排版结果pdf拼合写入新pdf文件;确定索引文件中的页后重构页的页单元描述信息,以及全量pdf文件中的页后重构页对应的页单元pdf,将页后重构页的页单元pdf拼合写入新pdf文件。
7、在本申请可选的实施例中,上述基于当前修改区域是否动版将当前修改页的各单元pdf和页后重构页的各单元pdf拼合写入pdf文件的步骤,包括:如果当前修改区域动版,读取索引文件中的当前修改页的当前修改区域之前的块单元、栏单元、段落单元、行单元,基于索引文件中的层顺序将当前修改区域之前的单元pdf和当前修改区域的排版结果pdf拼合写入新pdf文件;根据当前修改区域的排版结果与索引文件中原当前修改区域对应的坐标矩阵计算得到动版位移偏移量,读取索引文件中的当前修改页的当前修改区域之后的栏单元、段落单元、行单元,基于动版位移偏移量计算当前修改区域之后的栏单元、段落单元、行单元的坐标位置,基于索引文件中的层顺序将当前修改区域之后的单元pdf按照坐标位置拼合写入新pdf文件;读取索引文件中的页后重构页的栏单元、段落单元、行单元,基于动版位移偏移量计算页后重构页的栏单元、段落单元、行单元的坐标位置,基于索引文件中的层顺序将页后重构页的单元pdf按照坐标位置拼合写入新pdf文件。
8、在本申请可选的实施例中,上述读取索引文件中的当前修改页的当前修改区域之前的块单元、栏单元、段落单元、行单元的步骤,包括:基于向上取整,无法取整的取下级单元的最大单元集原则,读取索引文件中的当前修改页的当前修改区域之前的块单元、栏单元、段落单元、行单元。
9、在本申请可选的实施例中,上述方法还包括:合并消重拼合写入后的新pdf文件的公共项,得到最终的新pdf文件。
10、第二方面,本专利技术实施例还提供一种pdf文件的生成装置,装置包括:全量pdf文件和索引文件生成模块,用于基于目标文件的单元生成全量pdf文件和索引文件;其中,目标文件的单元包括目标文件的页、块、栏、段、行;全量pdf文件是以每一个单元独立为pdf页的组合pdf文件;索引文件包括目标文件的各个单元的描述信息;目标文件分解模块,用于当对目标文件进行排版处理时,获取目标文件的当前修改区域位置,基于当前修改区域将目标文件按页分解为页前固化页、当前修改页和页后重构页;第一拼合写入模块,用于确定索引文件中的页前固化页的页单元描述信息,以及全量pdf文件中的页前固化页对应的页单元pdf,将页前固化页的页单元pdf拼合写入新pdf文件;第二拼合写入模块,用于确定索引文件中的当前修改页的固定块,基于索引文件中的层顺序将当前修改页的固定块单元pdf按坐标矩阵位置拼合写入新pdf文件;第三拼合写入模块,用于获取当前修改区域的排版结果,基于当前修改区域的排版结果判断当前修改区域是否动版;基于当前修改区域是否动版将当前修改页的各单元pdf和页后重构页的各单元pdf拼合写入新pdf文件。
11、第三方面,本专利技术实施例还提供了一种电子设备,包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现上述pdf文件的生成方法。
12、本专利技术实施例带来了以下有益效果:
13、本专利技术实施例提供了一种pdf文件的生成方法、装置和电子设备,将原排版生成pdf按照固化页、当前页、重构页划分,其中针对当前页的当前段落环境,执行小域范围排版,并针对当前段落修改内容判断是否动版,依据动版上下位移情况进行固化页、当前页和重构页的自动重组。可以将整个文档排版缩小为当前修改区域小域排版及页、块、栏、段、行的已排版内容重组,大大提升排版效率。
14、本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
15、为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
本文档来自技高网...【技术保护点】
1.一种PDF文件的生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述索引文件用于标识每一个单元的所在页、所在页对应的栏、坐标矩阵、高度、排版连接顺序、层顺序、单元内容类型,所述索引文件还用于为每一个单元分配一个唯一ID。
3.根据权利要求1所述的方法,其特征在于,基于所述当前修改区域将所述目标文件按页分解为页前固化页、当前修改页和页后重构页的步骤,包括:
4.根据权利要求1所述的方法,其特征在于,当对目标文件进行排版处理时,获取所述目标文件的当前修改区域位置的步骤之后,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,基于所述当前修改区域是否动版将所述当前修改页的各单元PDF和所述页后重构页的各单元PDF拼合写入所述新PDF文件的步骤,包括:
6.根据权利要求1所述的方法,其特征在于,基于所述当前修改区域是否动版将所述当前修改页的各单元PDF和所述页后重构页的各单元PDF拼合写入所述PDF文件的步骤,包括:
7.根据权利要求6所述的方法,其特征在于,读取所述索引文
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
9.一种PDF文件的生成装置,其特征在于,所述装置包括:
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现执行权利要求1至8任一项所述的PDF文件的生成方法。
...【技术特征摘要】
1.一种pdf文件的生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述索引文件用于标识每一个单元的所在页、所在页对应的栏、坐标矩阵、高度、排版连接顺序、层顺序、单元内容类型,所述索引文件还用于为每一个单元分配一个唯一id。
3.根据权利要求1所述的方法,其特征在于,基于所述当前修改区域将所述目标文件按页分解为页前固化页、当前修改页和页后重构页的步骤,包括:
4.根据权利要求1所述的方法,其特征在于,当对目标文件进行排版处理时,获取所述目标文件的当前修改区域位置的步骤之后,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,基于所述当前修改区域是否动版将所述当前修改页的各单元pdf和所述页后重构页的各单元pdf拼合写入所述新pd...
【专利技术属性】
技术研发人员:王盛华,尹真,屈春河,张振宇,王高永,陈希,晋海峰,
申请(专利权)人:北京仁和汇智信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。