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...
【專利技術屬性】
技術研發人員:王盛華,尹真,屈春河,張振宇,王高永,陳希,晉海峰,
申請(專利權)人:北京仁和匯智信息技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。