專利名稱:基于原始文檔的排版處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及文檔的排版處理領(lǐng)域,尤其涉及基于原始文檔的排版處理方法及裝置。
背景技術(shù):
目前,很多原始文檔為了適應(yīng)不同的閱讀、出版或流通方式(包括如電子閱讀設(shè)備,閱讀軟件以及紙質(zhì)出版物等),在編輯時附帯了很多換行符,給讀者或使用者帶來了不便;例如從網(wǎng)絡(luò)上下載的電子書,為了適應(yīng)個人電腦屏幕的大小,經(jīng)常包含多余的換行符,當(dāng)這樣的電子書應(yīng)用到手持設(shè)備上或者別的閱讀器上閱讀時,就會出現(xiàn)不符合閱讀習(xí)慣的情況,具體表現(xiàn)為每屏幕顯示的內(nèi)容不對齊,由于太多的換行,導(dǎo)致每屏幕顯示的內(nèi) 容太少,段落首沒有特效。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種基于原始文檔的排版處理方法及裝置,用以解決由于換行符而導(dǎo)致的段落不清晰,不連貫的問題;并使經(jīng)過排版處理的文檔更加美觀,符合人們的閱讀習(xí)慣。為達(dá)到上述目的,本發(fā)明通過下述技術(shù)方案實(shí)現(xiàn)一種基于原始文檔的排版處理方法,包括以下步驟步驟A :將識別到的原始文檔的字符按照先后順序進(jìn)行編號,用第I個字符,第2個字符,...,第N個字符表示;其中N為自然數(shù);步驟B :讀取第X個字符,判斷第X個字符是否是換行符;其中,X是字符在步驟A中的編號;如果第X個字符不是換行符,則運(yùn)行步驟BI ;如果第X個字符是換行符,則運(yùn)行步驟C ;步驟BI :判斷第X個字符是否是原始文檔的最后一個字符;如果第X個字符是最后ー個字符,則結(jié)束排版處理;如果第X個字符不是最后一個字符則X = X+1,返回步驟B ;步驟C :讀取第X-I個字符,判斷第X-I個字符是否是段落結(jié)束符;如果第X-I個字符不是段落結(jié)束符,則運(yùn)行步驟Cl ;如果第X-I個字符是段落結(jié)束符,則進(jìn)行步驟D ;步驟Cl :判斷第X個字符是否是原始文檔的最后一個字符;如果第X個字符是最后一個字符則刪除換行符,結(jié)束排版處理;如果第X個字符不是最后一個字符則刪除換行符,X = X+1,返回步驟B ;步驟D :判斷第X個字符是否是原始文檔的最后一個字符;如果第X個字符是最后ー個字符,則刪除換行符,結(jié)束排版處理;如果第X個字符不是最后一個字符則刪除換行符,為第X+1個字符増加段落首格式,X = X+1,返回步驟B。
ー種對原始文檔進(jìn)行排版處理的裝置,包括編號模塊,用于將識別出的原始文檔的字符按照先后順序進(jìn)行編號,用第I個字符,第2個字符,...,第N個字符表示;其中N為自然數(shù);讀取模塊,用于讀取編號后的字符;換行符判斷模塊,用于判斷讀取模塊讀取的第X個字符是否是換行符;其中,X是字符的編號;最后ー個字符判斷模塊,用于判斷讀取模塊讀取的第X個字符是否是原始文檔的最后一個字符;段落結(jié)束符判斷模塊,用于判斷讀取模塊讀取的第X-I個字符是否是段落結(jié)束符; 中央處理模塊,用于對編號模塊,讀取模塊,換行符判斷模塊,最后一個字符判斷模塊和段落結(jié)束符判斷模塊進(jìn)行控制。本發(fā)明的基于原始文檔的排版處理方法及裝置有益效果在于,將原始文檔中的多余的換行符予以刪除,去掉了原始文檔中多余的空行以及不必要的換行;并為段落増加段落首格式;這樣,使文檔段落清晰,并提高了文檔的美觀性和連貫性,使文檔更加符合人們的閱讀習(xí)慣。
圖I是本發(fā)明的基于原始文檔的排版處理方法的流程圖;圖2A是本發(fā)明的原始文檔的示意圖;圖2B是本發(fā)明的基于原始文檔的排版處理方法將圖2A所示原始文檔進(jìn)行部分排版處通后的不意圖;圖2C是本發(fā)明的基于原始文檔的排版處理方法將圖2A所示原始文檔進(jìn)行全部排版處理后的示意圖。
具體實(shí)施例方式為使本發(fā)明基于原始文檔的排版處理方法及裝置的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明做進(jìn)ー步詳細(xì)說明;以下所描述的具體實(shí)施例僅用于說明本發(fā)明,但不用來限定本發(fā)明的范圍。實(shí)施例一本發(fā)明的基于原始文檔的排版處理方法,如圖I所示,包括以下步驟步驟A :將識別到的原始文檔的字符按照先后順序進(jìn)行編號,用第I個字符,第2個字符,...,第N個字符表示;其中N為自然數(shù);步驟B :讀取第X個字符,判斷第X個字符是否是換行符;其中,X是字符在步驟A中的編號;如果第X個字符不是換行符,則運(yùn)行步驟BI ;如果第X個字符是換行符,則運(yùn)行步驟C ;步驟BI :判斷第X個字符是否是原始文檔的最后一個字符;如果第X個字符是最后ー個字符,則結(jié)束排版處理;
如果第X個字符不是最后一個字符則X = X+1,返回步驟B ;步驟C :讀取第X-I個字符,判斷第X-I個字符是否是段落結(jié)束符;如果第X-I個字符不是段落結(jié)束符,則運(yùn)行步驟Cl ;如果第X-I個字符是段落結(jié)束符,則進(jìn)行步驟D ;步驟Cl :判斷第X個字符是否是原始文檔的最后一個字符;如果第X個字符是最后一個字符則刪除換行符,結(jié)束排版處理;如果第X個字符不是最后一個字符則刪除換行符,X = X+1,返回步驟B ;步驟D :判斷第X個字符是否是原始文檔的最后一個字符;
如果第X個字符是最后ー個字符,則刪除換行符,結(jié)束排版處理;如果第X個字符不是最后一個字符則刪除換行符,為第X+1個字符増加段落首格式,X =X+1,返回步驟B。優(yōu)選的,在步驟B中,所述判斷第X個字符是否是換行符,包括以下步驟步驟B2 :判斷第X個字符是否是預(yù)先設(shè)置的換行符集合中的ー種換行符;步驟B21 :在換行符集合中查找第X個字符如果第X個字符存在于換行符集合內(nèi),則第X個字符是換行符;如果第X個字符不存在于換行符集合內(nèi),則第X個字符不是換行符。其中,換行符集合的設(shè)置方法是設(shè)置換行符集合,將所有的換行符増加到換行符集合內(nèi)。優(yōu)選的,在步驟BI,步驟Cl和步驟D中,判斷第X個字符是否是原始文檔的最后ー個字符,包括以下步驟步驟E :判斷X是否等于N 如果X = N,則第X個字符是原始文檔的最后ー個字符;如果XデN,則第X個字符不是原始文檔的最后ー個字符。優(yōu)選的,在步驟C中,所述判斷第X-I個字符是否是段落結(jié)束符,包括以下步驟步驟C2 :判斷第X-I個字符是否是預(yù)先設(shè)置的段落結(jié)束符集合中的ー種段落結(jié)束符;步驟C21 :在段落結(jié)束符集合中查找第X-I個字符如果第X-I個字符存在于段落結(jié)束符集合內(nèi),則第X-I個字符是段落結(jié)束符;如果第X-I個字符不存在于段落結(jié)束符集合內(nèi),則第X-I個字符不是段落結(jié)束符。其中,段落結(jié)束符集合的設(shè)置方法是設(shè)置段落結(jié)束符集合,將所有的段落結(jié)束符増加到段落結(jié)束符集合內(nèi)。優(yōu)選的,在步驟D中,所述段落首格式包括縮進(jìn),首字符大寫。下面結(jié)合對圖2A所示的原始文檔進(jìn)行排版處理的例子對基于原始文檔的排版處理方法進(jìn)行說明步驟A :將識別到的圖2A所示的原始文檔的字符按照先后順序進(jìn)行編號,其中,“第一章、大會天下”中“第”字為第I個字符,“一”字為第2個字符,,“下”字為第8個字符,...,以此類推;步驟B:讀取第I個字符(第),判斷第I個字符(第)是否是換行符;第I個字符(第)不是換行符,則運(yùn)行步驟BI ;
步驟BI :判斷第I個字符(第)是否是原始文檔的最后一個字符;第I個字符(第)不是最后一個字符則X = X+1 = 2,返回步驟B ;...步驟B :讀取第9個字符(」回車符),判斷第9個字符(」回車符)是否是換行符;第9個字符(」回車符)不是換行符,則運(yùn)行步驟BI ;步驟BI :判斷第9個字符(」回車符)是否是原始文檔的最后一個字符;第9個字 符(」回車符)不是最后一個字符則X = x+1 = 10,返回步驟B ;步驟B :讀取第10個字符(丨換行符),判斷第10個字符(丨換行符)是否是換行符;第10個字符(丨換行符)是換行符,則運(yùn)行步驟C ;步驟C :讀取第X-I個字符(第9個字符,即」回車符),判斷第X-I個字符是否是段落結(jié)束符;第X-I個字符(第9個字符,即」回車符)是段落結(jié)束符,則進(jìn)行步驟D ;在本例中,回車符是ー種段落結(jié)束符;步驟D :判斷第10個字符(丨換行符)是否是原始文檔的最后一個字符;第X個字符(丨換行符)不是最后一個字符則刪除換行符,為第X+1個字符(第11個字符,即在)増加段落首格式,X = X+1 = 11,返回步驟B ;這樣,將圖2A所示原始文檔的版面排版處理成為圖2B所不的版面;...步驟B :讀取第27個字符(上),判斷第27個字符(上)是否是換行符;第27個字符(上)不是換行符,則運(yùn)行步驟BI ;步驟BI :判斷第27個字符(上)是否是原始文檔的最后一個字符;第27個字符(上)不是最后一個字符則X = x+1 = 28,返回步驟B ;步驟B :讀取第28個字符(丨換行符),判斷第28個字符(丨換行符)是否是換行符;第28個字符(丨換行符)是換行符,則運(yùn)行步驟C ;步驟C :讀取第X-I個字符(第27個字符,上),判斷第X-I個字符是否是段落結(jié)束符;第X-I個字符(第27個字符,上)不是段落結(jié)束符,則運(yùn)行步驟Cl ;步驟Cl :判斷第X個字符(第28個字符丨換行符)是否是原始文檔的最后ー個字符;第28個字符(丨換行符)不是最后一個字符則刪除換行符,X = X+1 = 98,返回步驟B ;...繼續(xù)依照本發(fā)明的基于原始文檔的排版處理方法的步驟,對圖2B所示的版面進(jìn)行排版處理;直到分析完整個段落,得到圖2C所示的版面;最后,本發(fā)明的基于原始文檔的排版處理方法在對原始文檔的最后ー個字符排版處理結(jié)束后,結(jié)束排版處理。實(shí)施例ニ本發(fā)明的對原始文檔進(jìn)行排版處理的裝置,其特征在于包括編號模塊,用于將識別出的原始文檔的字符按照先后順序進(jìn)行編號,用第I個字符,第2個字符,...,第N個字符表示;其中N為自然數(shù);
讀取模塊,用于讀取編號后的字符;換行符判斷模塊,用于判斷讀取模塊讀取的第X個字符是否是換行符;其中,X是字符的編號;最后ー個字符判斷模塊,用于判斷讀取模塊讀取的第X個字符是否是原始文檔的最后一個字符;段落結(jié)束符判斷模塊,用于判斷讀取模塊讀取的第X-I個字符是否是段落結(jié)束符;中央處理模塊,用于對編號模塊,讀取模塊,換行符判斷模塊,最后一個字符判斷模塊和段落結(jié)束符判斷模塊進(jìn)行控制。優(yōu)選的,所述換行符判斷模塊包括換行符查找單元和換行符集合単元,通過在所 述換行符查找單元輸入第X個字符,在換行符集合單元進(jìn)行查找,實(shí)現(xiàn)判斷讀取模塊讀取的第X個字符是否是換行符第X個字符在所述換行符集合単元查找到,則第X個字符是換行符;第X個字符在所述換行符集合単元查找不到,則第X個字符不是換行符。優(yōu)選的,所述最后一個字符判斷模塊,通過判斷X是否等于N,實(shí)現(xiàn)判斷讀取模塊讀取的第X個字符是否是最后ー個字符如果X = N,則第X個字符是原始文檔的最后一個字符;如果XデN,則第X個字符不是原始文檔的最后ー個字符。優(yōu)選的,所述段落結(jié)束符判斷模塊包括段落結(jié)束符查找單元和段落結(jié)束符集合單元,通過在所述段落結(jié)束符查找單元輸入第X-I個字符,在段落結(jié)束符集合單元進(jìn)行查找,判斷讀取模塊讀取的第X-I個字符是否是段落結(jié)束符第X-I個字符在所述段落結(jié)束符集合単元查找到,則第X-I個字符是段落結(jié)束符;第X-I個字符在所述段落結(jié)束符集合単元查找不到,則第X-I個字符不是段落結(jié)束符。優(yōu)選的,所述中央處理模塊的控制,包括如下步驟步驟A :將識別到的原始文檔的字符按照先后順序進(jìn)行編號,用第I個字符,第2個字符,...,第N個字符表示;其中N為自然數(shù);步驟B :讀取第X個字符,判斷第X個字符是否是換行符;其中,X是字符在步驟A中的編號;如果第X個字符不是換行符,則運(yùn)行步驟BI ;如果第X個字符是換行符,則運(yùn)行步驟C ;步驟BI :判斷第X個字符是否是原始文檔的最后一個字符;如果第X個字符是最后一個字符,則結(jié)束排版處理;如果第X個字符不是最后一個字符則X = X+1,返回步驟B ;步驟C :讀取第X-I個字符,判斷第X-I個字符是否是段落結(jié)束符;如果第X-I個字符不是段落結(jié)束符,則運(yùn)行步驟Cl ;如果第X-I個字符是段落結(jié)束符,則進(jìn)行步驟D ;步驟Cl :判斷第X個字符是否是原始文檔的最后一個字符;
如果第X個字符是最后一個字符則刪除換行符,結(jié)束排版處理;如果第X個字符不是最后一個字符則刪除換行符,X = X+1,返回步驟B ;步驟D :判斷第X個字符是否是原始文檔的最后一個字符;如果第X個字符是最后ー個字符,則刪除換行符,結(jié)束排版處理;如果第X個字符不是最后一個字符則刪除換行符,為第X+1個字符増加段落首格式,X = X+1,返回步驟B。本發(fā)明的基于原始文檔的排版處理方法及裝置,將原始文檔中的多余的換行符予以刪除,去掉了原始文檔中多余的空行以及不必要的換行;并為段落増加段落首格式;這樣,使文檔段落清晰,并提高了文檔的美觀性和連貫性,使文檔更加符合人們的閱讀習(xí)慣。
最后應(yīng)當(dāng)說明的是,很顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動而不脫離本發(fā)明的精神和范圍;倘若對本發(fā)明的這些修改屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動。
權(quán)利要求
1.一種基于原始文檔的排版處理方法,其特征在于,包括以下步驟 步驟A :將識別到的原始文檔的字符按照先后順序進(jìn)行編號,用第I個字符,第2個字符,...,第N個字符表示;其中N為自然數(shù); 步驟B :讀取第X個字符,判斷第X個字符是否是換行符;其中,X是字符在步驟A中的編號; 如果第X個字符不是換行符,則運(yùn)行步驟BI ; 如果第X個字符是換行符,則運(yùn)行步驟C ; 步驟BI :判斷第X個字符是否是原始文檔的最后一個字符; 如果第X個字符是最后ー個字符,則結(jié)束排版處理; 如果第X個字符不是最后一個字符則X = X+1,返回步驟B ; 步驟C :讀取第X-I個字符,判斷第X-I個字符是否是段落結(jié)束符; 如果第X-I個字符不是段落結(jié)束符,則運(yùn)行步驟Cl ; 如果第X-I個字符是段落結(jié)束符,則進(jìn)行步驟D ; 步驟Cl :判斷第X個字符是否是原始文檔的最后一個字符; 如果第X個字符是最后一個字符則刪除換行符,結(jié)束排版處理; 如果第X個字符不是最后一個字符則刪除換行符,X = X+1,返回步驟B ; 步驟D :判斷第X個字符是否是原始文檔的最后一個字符; 如果第X個字符是最后ー個字符,則刪除換行符,結(jié)束排版處理; 如果第X個字符不是最后一個字符則刪除換行符,為第X+1個字符増加段落首格式,X = X+1,返回步驟B。
2.根據(jù)權(quán)利要求I所述的基于原始文檔的排版處理方法,其特征在于 在步驟B中,所述判斷第X個字符是否是換行符,包括以下步驟 步驟B2 :判斷第X個字符是否是預(yù)先設(shè)置的換行符集合中的ー種換行符; 步驟B21 :在換行符集合中查找第X個字符 如果第X個字符存在于換行符集合內(nèi),則第X個字符是換行符; 如果第X個字符不存在于換行符集合內(nèi),則第X個字符不是換行符。
3.根據(jù)權(quán)利要求I所述的基于原始文檔的排版處理方法,其特征在于 在步驟BI,步驟Cl和步驟D中,判斷第X個字符是否是原始文檔的最后ー個字符,包括以下步驟 步驟E :判斷X是否等于N: 如果X = N,則第X個字符是原始文檔的最后一個字符; 如果XデN,則第X個字符不是原始文檔的最后ー個字符。
4.根據(jù)權(quán)利要求I所述的基于原始文檔的排版處理方法,其特征在于 在步驟C中,所述判斷第X-I個字符是否是段落結(jié)束符,包括以下步驟 步驟C2 :判斷第X-I個字符是否是預(yù)先設(shè)置的段落結(jié)束符集合中的ー種段落結(jié)束符; 步驟C21 :在段落結(jié)束符集合中查找第X-I個字符 如果第X-I個字符存在于段落結(jié)束符集合內(nèi),則第X-I個字符是段落結(jié)束符; 如果第X-I個字符不存在于段落結(jié)束符集合內(nèi),則第X-I個字符不是段落結(jié)束符。
5.根據(jù)權(quán)利要求I所述的基于原始文檔的排版處理方法,其特征在于在步驟D中,所述段落首格式包括縮進(jìn),首字符大寫。
6.ー種對原始文檔進(jìn)行排版處理的裝置,其特征在于 包括編號模塊,用于將識別出的原始文檔的字符按照先后順序進(jìn)行編號,用第I個字符,第2個字符,...,第N個字符表示;其中N為自然數(shù); 讀取模塊,用于讀取編號后的字符; 換行符判斷模塊,用于判斷讀取模塊讀取的第X個字符是否是換行符;其中,X是字符的編號; 最后ー個字符判斷模塊,用于判斷讀取模塊讀取的第X個字符是否是原始文檔的最后一個字符; 段落結(jié)束符判斷模塊,用于判斷讀取模塊讀取的第X-I個字符是否是段落結(jié)束符;中央處理模塊,用于對編號模塊,讀取模塊,換行符判斷模塊,最后一個字符判斷模塊和段落結(jié)束符判斷模塊進(jìn)行控制。
7.根據(jù)權(quán)利要求6所述的對原始文檔進(jìn)行排版處理的裝置,其特征在于 所述換行符判斷模塊包括換行符查找單元和換行符集合単元,通過在所述換行符查找單元輸入第X個字符,在換行符集合單元進(jìn)行查找,實(shí)現(xiàn)判斷讀取模塊讀取的第X個字符是否是換行符 第X個字符在所述換行符集合単元查找到,則第X個字符是換行符; 第X個字符在所述換行符集合単元查找不到,則第X個字符不是換行符。
8.根據(jù)權(quán)利要求6所述的對原始文檔進(jìn)行排版處理的裝置,其特征在于 所述最后一個字符判斷模塊,通過判斷X是否等于N,實(shí)現(xiàn)判斷讀取模塊讀取的第X個字符是否是最后一個字符 如果X = N,則第X個字符是原始文檔的最后一個字符; 如果XデN,則第X個字符不是原始文檔的最后ー個字符。
9.根據(jù)權(quán)利要求6所述的對原始文檔進(jìn)行排版處理的裝置,其特征在于 所述段落結(jié)束符判斷模塊包括段落結(jié)束符查找單元和段落結(jié)束符集合単元,通過在所述段落結(jié)束符查找單元輸入第X-I個字符,在段落結(jié)束符集合單元進(jìn)行查找,判斷讀取模塊讀取的第X-I個字符是否是段落結(jié)束符 第X-I個字符在所述段落結(jié)束符集合単元查找到,則第X-I個字符是段落結(jié)束符; 第X-I個字符在所述段落結(jié)束符集合単元查找不到,則第X-I個字符不是段落結(jié)束符。
10.根據(jù)權(quán)利要求6所述的對原始文檔進(jìn)行排版處理的裝置,其特征在于 所述中央處理模塊的控制,包括如下步驟 步驟A :將識別到的原始文檔的字符按照先后順序進(jìn)行編號,用第I個字符,第2個字符,...,第N個字符表示;其中N為自然數(shù); 步驟B :讀取第X個字符,判斷第X個字符是否是換行符;其中,X是字符在步驟A中的編號; 如果第X個字符不是換行符,則運(yùn)行步驟BI ; 如果第X個字符是換行符,則運(yùn)行步驟C ; 步驟BI :判斷第X個字符是否是原始文檔的最后一個字符; 如果第X個字符是最后ー個字符,則結(jié)束排版處理;如果第X個字符不是最后一個字符則X = X+1,返回步驟B ; 步驟C :讀取第X-I個字符,判斷第X-I個字符是否是段落結(jié)束符; 如果第X-I個字符不是段落結(jié)束符,則運(yùn)行步驟Cl ; 如果第X-I個字符是段落結(jié)束符,則進(jìn)行步驟D ; 步驟Cl :判斷第X個字符是否是原始文檔的最后一個字符; 如果第X個字符是最后一個字符則刪除換行符,結(jié)束排版處理; 如果第X個字符不是最后一個字符則刪除換行符,X = X+1,返回步驟B ;步驟D :判斷第X個字符是否是原始文檔的最后一個字符; 如果第X個字符是最后一個字符,則刪除換行符,結(jié)束排版處理; 如果第X個字符不是最后一個字符則刪除換行符,為第X+1個字符增加段落首格式,X = X+1,返回步驟B。
全文摘要
本發(fā)明公開了一種基于原始文檔的排版處理方法及裝置,包括步驟B判斷第X個字符是否是換行符;第X個字符不是換行符,則運(yùn)行步驟B1;第X個字符是換行符,則運(yùn)行步驟C;步驟C判斷第X-1個字符是否是段落結(jié)束符第X-1個字符不是段落結(jié)束符,則運(yùn)行步驟C1;第X-1個字符是段落結(jié)束符,則進(jìn)行步驟D;步驟B1、C1和步驟D判斷第X個字符是否是原始文檔的最后一個字符,并根據(jù)情況進(jìn)行相應(yīng)處理。本發(fā)明的基于原始文檔的排版處理方法及裝置有益效果在于,將原始文檔的多余的換行符予以刪除,去掉了原始文檔中多余的空行以及不必要的換行;為段落增加段落首格式;使文檔段落清晰,并提高了文檔的美觀性和連貫性,使文檔更加符合人們的閱讀習(xí)慣。
文檔編號G06F17/25GK102681980SQ20111006512
公開日2012年9月19日 申請日期2011年3月17日 優(yōu)先權(quán)日2011年3月17日
發(fā)明者張恭繼 申請人:珠海全志科技股份有限公司