国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于POI的論文格式檢錯(cuò)與部分修改軟件的實(shí)現(xiàn)

2020-08-06 15:01鄧鵬杰張錫馮向萍
計(jì)算機(jī)時(shí)代 2020年7期
關(guān)鍵詞:畢業(yè)論文

鄧鵬杰 張錫 馮向萍

摘要:畢業(yè)論文是高等院校教育計(jì)劃的重要部分,其格式要求非常嚴(yán)格,一直以來(lái)都是人工審查的,費(fèi)時(shí)費(fèi)力。在對(duì)word文檔的結(jié)構(gòu)及其具體實(shí)現(xiàn)進(jìn)行深入研究的基礎(chǔ)上,使用Java實(shí)現(xiàn)了基于Apache POI的論文格式檢錯(cuò)及部分修改軟件。該軟件將待檢測(cè)論文格式和預(yù)先設(shè)定的論文格式進(jìn)行比較,實(shí)現(xiàn)對(duì)論文的內(nèi)容與格式檢測(cè),以及部分格式的自動(dòng)修改,不能自動(dòng)修改的則生成詳細(xì)的錯(cuò)誤說(shuō)明文件。

關(guān)鍵詞:畢業(yè)論文;POI;格式檢錯(cuò);Java;Word;XML

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-8228(2020)07-50-03

0引言

隨著網(wǎng)絡(luò)技術(shù)與信息化技術(shù)的普及與發(fā)展,各高校的學(xué)生已普遍使用MicrosoftOfficeWord文檔完成畢業(yè)論文的撰寫(xiě),每所高校的教務(wù)管理部門(mén)對(duì)畢業(yè)論文的撰寫(xiě)格式和文獻(xiàn)的引用方面都有明確的要求,長(zhǎng)期以來(lái),論文格式的檢查主要由學(xué)生本人、畢業(yè)設(shè)計(jì)指導(dǎo)教師或者專職人員審核,這種手工操作方式費(fèi)時(shí)費(fèi)力,所以開(kāi)發(fā)一個(gè)可以自動(dòng)進(jìn)行格式檢錯(cuò)與修改的軟件是做好人工論文格式檢查的最優(yōu)解決方案。

2017年葉秀云,劉德正的研究生學(xué)位論文格式自動(dòng)檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)研究了鑒于論文格式檢測(cè)的背景與現(xiàn)狀,但是沒(méi)有對(duì)論文的格式錯(cuò)誤進(jìn)行指出與部分糾正。在前人研究基礎(chǔ)上,本文使用POI工具包開(kāi)發(fā)了一個(gè)可以對(duì)確定論文格式的畢業(yè)論文進(jìn)行格式檢測(cè)與部分修改的軟件,為論文格式審查工作人員減輕負(fù)擔(dān)。

1Word文檔的分析及研究

目前Word文檔使用的是基于微軟提出的國(guó)際文檔格式標(biāo)準(zhǔn)OOXML為底層資源存儲(chǔ)的,為了便于分析,可以直接把docx文件以zip方式解壓,解壓出來(lái)的文件結(jié)構(gòu)如圖所示。其中為本文用戶存儲(chǔ)的數(shù)據(jù)主要是在word文件下,用戶文字與排版數(shù)據(jù)主要在document,xml文件中,其他xml文件是輔助document.xml排版的文件,其內(nèi)部資源結(jié)構(gòu)如圖l所示。

整個(gè)document.xml文件內(nèi)容是層級(jí)分布嘲的,按照最近原則來(lái)對(duì)文本的內(nèi)容與樣式進(jìn)行修飾。

document下一級(jí)是p標(biāo)簽或tbl標(biāo)簽。tbl標(biāo)簽下包含的是表格,p下包含的是文本內(nèi)容及文本修飾。p標(biāo)簽內(nèi)有pStyle,對(duì)整個(gè)p進(jìn)行修飾,然后可能會(huì)有hyperlink標(biāo)簽,此級(jí)標(biāo)簽一般將本p的內(nèi)容封裝,有此標(biāo)簽,則說(shuō)明此p是對(duì)下文的引用,即:可能是文檔的目錄。p下一級(jí)是r級(jí)。下面有t標(biāo)簽一文字內(nèi)容,instrText標(biāo)簽一引用的標(biāo)記文本,fldChar標(biāo)簽一規(guī)定目錄后面連續(xù)多個(gè)點(diǎn)的格式,成對(duì)的bookmarkStart與bookmarkEnd-用于和引用對(duì)應(yīng),drawing標(biāo)簽一圖片資源,obiect標(biāo)簽一其他內(nèi)容。

由于所有的內(nèi)容與修飾標(biāo)簽是按照層級(jí)的結(jié)構(gòu)組織起來(lái)的,而且是按照最近原則來(lái)修飾的。在做檢測(cè)模塊時(shí),可以使用層級(jí)向上檢測(cè)的方法檢測(cè)最終的顯示字體,在做修改模塊時(shí),可以直接修改最底層層級(jí)上的的屬性從而達(dá)到修改最終顯示字體的目的。

2相關(guān)技術(shù)說(shuō)明

目前Word使用的OOXML文件的格式來(lái)組織文檔的資源與內(nèi)容的,所以本文在實(shí)現(xiàn)對(duì)論文的格式檢測(cè)的時(shí)候,需要使用到對(duì)OOXMLt21文件進(jìn)行解析的工具。Apache維護(hù)的POI可以對(duì)OOXML進(jìn)行解析,還可以提供直接解析Word的一些工具,支持XML塊兒修改等相關(guān)處理,在獲取到源文檔的路徑之后可以使用POI提供的XWPFDocument類將其所有的內(nèi)容傳到Java程序中的某個(gè)對(duì)象,在獲取到文檔的對(duì)象之后可以使用POI提供的其他工具深層解析與分析以及相關(guān)處理。POI是完全開(kāi)源的,它為開(kāi)發(fā)者提供了一套處理OOXML的實(shí)用工具,可以讓開(kāi)發(fā)者方便地對(duì)上層的Word文檔內(nèi)容進(jìn)行更高級(jí)的處理。由于它的開(kāi)源,可以基于原項(xiàng)目繼續(xù)深入探索并添加原項(xiàng)目沒(méi)有的操作為本文所用。

3核心功能實(shí)現(xiàn)步驟

用戶可以某種方式將自己的文件上傳到目標(biāo)處理的平臺(tái),目標(biāo)平臺(tái)接收到用戶上傳的文檔之后開(kāi)始調(diào)用核心處理邏輯對(duì)文檔進(jìn)行處理。

本軟件首先從目錄檢出每條目錄條目,之后將目錄使用其中的鏈接標(biāo)簽對(duì)應(yīng)到正文中去,當(dāng)用戶生成的目錄是標(biāo)準(zhǔn)的目錄時(shí),即可對(duì)正文內(nèi)容進(jìn)行劃分,之后再進(jìn)行后續(xù)的各種板塊的正確性檢測(cè)與相關(guān)修改,最后生成提示文檔反饋給用戶,用來(lái)幫助用戶撰寫(xiě)規(guī)范的論文,從而在老師這邊減少一部分審閱負(fù)擔(dān)。

本軟件的大部分邏輯的實(shí)現(xiàn)是基于POI包中帶的XML解析工具,部分使用XWPF提供的API接口實(shí)現(xiàn),整個(gè)實(shí)現(xiàn)邏輯框架如圖2所示。

(1)若目錄中的標(biāo)題與正文的標(biāo)題無(wú)法匹配,則生成目錄錯(cuò)誤報(bào)告,在報(bào)告中加入修改說(shuō)明,直到修改為正確目錄,在進(jìn)行以下步驟。

(2)若目錄匹配成功,將文章中的正文段以及標(biāo)題劃分出來(lái),直接使用目標(biāo)格式與原文檔對(duì)比,部分可以直接使用目標(biāo)格式覆蓋,對(duì)文本段的rpr標(biāo)簽下的rStyle內(nèi)容進(jìn)行修改即可達(dá)到對(duì)最終顯示文本格式的修改。

(3)從文檔中檢測(cè)表格與圖,在畢業(yè)論文中表名和圖名是在表和圖的固定位置,當(dāng)檢測(cè)到表和圖的時(shí)候若在相應(yīng)位置沒(méi)有發(fā)現(xiàn)“表”與“圖”文字則加入在反饋條目中加入此圖或表的警告條目。

(4)畢業(yè)論文的表格采用的都是三線表格式,在Word文檔中檢測(cè)到表的時(shí)候直接使用三線表格式對(duì)表進(jìn)行糾正。

(5)畢業(yè)論文使用的是GB/T 7714-1987標(biāo)準(zhǔn)的參考文獻(xiàn)引用格式,若正確使用了此標(biāo)準(zhǔn)的引用,則使用符合此標(biāo)準(zhǔn)的正則匹配可以正確通過(guò),若未通過(guò),則說(shuō)明引用有誤,將錯(cuò)誤引用條目加入警告條目。

(6)最終從各個(gè)模塊中的反饋條目中提取反饋條目生成反饋報(bào)告文件。

4測(cè)試結(jié)果及分析

4.1運(yùn)行成效

圖3是運(yùn)行后的回饋文件,可見(jiàn)輸出邏輯清晰方便學(xué)生糾錯(cuò)。

使用100份真實(shí)的大學(xué)生畢業(yè)論文來(lái)用于檢測(cè),其中20份結(jié)果符合預(yù)期情況,80份不符合預(yù)期情況,主要問(wèn)題在于:目錄不符合要求,本軟件可以在有限范圍內(nèi),輔助學(xué)生修改為正確目錄。在完成目錄修改后,測(cè)試結(jié)果如表l所示。

由于WORD的底層實(shí)現(xiàn)的復(fù)雜程度較高,有以下幾種情況無(wú)法進(jìn)行處理。

(1)Word的底層實(shí)現(xiàn)中,圖片有多種實(shí)現(xiàn)方式,且同種效果的底層實(shí)現(xiàn)可能是不同的,對(duì)于未知的實(shí)現(xiàn)方式,不能處理。

(2)在已知的圖片實(shí)現(xiàn)方式中,由于同種效果的底層實(shí)現(xiàn)不同,不能兼容所有的情況。

(3)參考文獻(xiàn)采用正則表達(dá)式來(lái)匹配,對(duì)于部分英文文獻(xiàn)的引用無(wú)法進(jìn)行匹配。

4.2運(yùn)行效率

運(yùn)行時(shí)間:60個(gè)樣本使用時(shí)間9780ms;40個(gè)樣本使用時(shí)間6297ms;20個(gè)樣本使用時(shí)間4655ms;10個(gè)樣本使用時(shí)間3245ms。由運(yùn)行數(shù)據(jù)可以看到隨著樣本數(shù)目的增加所需要的時(shí)間以同數(shù)量級(jí)增加,其所需時(shí)間與具體的文件大小相關(guān),平均大小1.6MB平均使用時(shí)間163ms。

5總結(jié)

此項(xiàng)目在實(shí)現(xiàn)中遇到了不少問(wèn)題,在前期本文對(duì)整個(gè)項(xiàng)目實(shí)現(xiàn)的邏輯只是有比較模糊的構(gòu)建,在具體實(shí)現(xiàn)上還是沒(méi)有非常明確的規(guī)劃,在不斷查閱資料、翻閱官方文檔過(guò)程中,首先對(duì)Word文檔的結(jié)構(gòu)與調(diào)用邏輯有了相對(duì)較清晰的認(rèn)識(shí),在理解了整個(gè)Word文檔邏輯的基礎(chǔ)上,本文重新對(duì)實(shí)現(xiàn)邏輯與實(shí)現(xiàn)步驟進(jìn)行規(guī)整。在程序完成之后再進(jìn)行大量測(cè)試,對(duì)更廣泛的格式錯(cuò)誤類型進(jìn)行適配,目前可以對(duì)大多數(shù)文檔進(jìn)行處理,且與預(yù)期基本一致,若使用此軟件對(duì)學(xué)生論文進(jìn)行處理可以極大減輕教師的論文修改負(fù)擔(dān)。

通過(guò)實(shí)現(xiàn)此項(xiàng)目我們發(fā)現(xiàn),現(xiàn)在的Word文件的內(nèi)部組織格式與結(jié)構(gòu)還需要進(jìn)一步的優(yōu)化,要是有更加清晰且結(jié)構(gòu)分明的框架與組織結(jié)構(gòu),將會(huì)更加方便開(kāi)發(fā)者對(duì)Word文檔的內(nèi)容進(jìn)行各種邏輯處理,同時(shí)方便更多使用Word的用戶。進(jìn)而對(duì)未來(lái)的電子辦公系統(tǒng)有更好的推進(jìn)作用。

猜你喜歡
畢業(yè)論文
本科畢業(yè)論文:取消還是改革
稻城县| 肇庆市| 元谋县| 东宁县| 扶余县| 鹰潭市| 东乌珠穆沁旗| 固镇县| 安塞县| 通河县| 南阳市| 安龙县| 道真| 海口市| 景东| 大同市| 南京市| 睢宁县| 仙居县| 宜城市| 汕头市| 永修县| 太仆寺旗| 阳泉市| 女性| 梓潼县| 清远市| 克什克腾旗| 本溪市| 隆林| 鄱阳县| 贵德县| 民权县| 深水埗区| 长岛县| 土默特左旗| 壤塘县| 积石山| 赤城县| 和政县| 凤山市|