999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

文檔生成技術研究與應用

2018-02-07 18:08:28邵欣欣張明會高梓峻
軟件工程 2018年1期

邵欣欣 張明會 高梓峻

摘 要:本文的在線生成在當前的信息系統中有廣泛的應用,基于現有的POI和Itext等API無法實現的問題進行擴展。文中研究了文檔的直接生成中的難點問題,包括復雜表格的生成、單元格的合并等;還研究了對Word和Excel的內容進行替換的文檔生成方式,總結了適用于Word和Excel文檔的最優生成方式。以上方法均已在項目中進行應用,并取得了良好的效果。

關鍵詞:文檔生成;寫入生成;自定義模板;信息系統

中圖分類號:TP311 文獻標識碼:A

Abstract:Text online generated have a wide range of applications in current information systems.Aiming at the problem of document generation in POI and Itext technology,the difficulties of generating documents are studied,including the generation of the complicated form,the cell's merger etc.Replacing content of Word and Excel is studied.The optimal generation of Word and Excel document is proposed.These methods have been applied in the project,and achieved good results.

Keywords:document generation;written generation;custom template;information system

1 引言(Introduction)

在高校和企業中,報表和文檔的處理一直是必不可少的組成部分。當前文檔多以電子形式編寫和存儲,但是很多時候又要紙質版的存檔,因此文檔的在線生成是一項必不可少的功能。例如電子商務網站的賬單、交易額、發票、在線合同等,高校的各類辦公和教學文檔,例如對于教師有培養方案、大綱、教學日歷、教學總結等,對于學生有實驗報告、畢設指導手冊、開題報告、譯文、畢業論文、畢業成績單、學位證明等重要的文檔。這些電子文檔往往需要復雜的形式,既包含文本和表格,又包含圖片,甚至在表格里加入圖片。基于這樣的需求,迫切需要一套能夠簡單、實用、高效地滿足各類報表生成的API。本文就以高校的各類文檔的生成為需求,展開研究文檔生成技術。

當前,常用的Java系列的文檔生成的擴展包主要有Itext、POI和JXLS,這幾種擴展包可以實現Excel、Word和PDF文件的導出,但是它們都存在某些弊端。Word POI生成簡單的Excel的確很優秀,但是操作Word的功能卻不盡人意。Itext對于PDF的輸出的介紹資料較多,對于Word文檔的輸出的介紹也不多,對于復雜表格的輸出也存在不靈活等問題,而且也無法實現對Word文檔分欄和增加水印等功能[1]。和POI結合應用的JXLS在使用模板生成Excel文檔方面有一定的優勢,而這方面的文獻并不多。

綜上所述,迫切需要一組API能夠實現復雜文檔的輸出,這也正是本文要解決的問題。本文提出了一套解決方案,具有實用性強、靈活性好等特點。

2 系統框架(System architecture)

高校的文檔包含內容較多,如何組織數據和確定數據最合適的輸出方式,都是在需求階段就需要解決的問題,基于文檔較多,數據量大的問題,首先對文檔進行歸類,確定生成方式。本文要研究的文檔主要有Word和Excel兩種輸出形式,根據內容可采用直接生成和模板替換兩種方式。

高校文檔生成系統共分為四層,包括數據采集層、數據存儲層、數據分析和輸出層。不同層級間采用文件服務的方式傳遞數據。系統應用當前比較成熟的SSH框架,前臺使用JQuery和AngularJS,數據庫采用Oracle數據庫[2],詳細的系統架構如圖1所示。

3 功能實現(Function realization)

3.1 寫入生成

基于對Word POI和Itext現有功能的研究,確定對Itext進行改進后生成Word文檔更適合。對現有API進行封裝,生成兩種方案各自的擴展包,保證具備生成復雜Word和PDF文檔的方式和方法。當前的API已經能夠實現簡單的Word文檔的輸出,但是對于復雜表格的生成還無法實現。另外,對于生成頁眉、頁腳和水印等內容也不夠靈活。因此,對現有API進行封裝,能夠實現復雜表格的生成。培養方案、教學大綱和教學總結都采用此方式實現。

項目采用對現有Itext的API進行封裝,封裝為”ComplexTextUtils”,此類中提供生成word文檔的基本方法,包括生成正文、簡單表格、復雜表格、水印和頁眉頁腳等。

這部分的難點就是生成復雜的表格和生成頁眉、頁腳等內容。

3.1.1 復雜表格的生成

Itext自帶的API根據表格內容、行跨度和列跨度三個參數進行組織數據,那么只要計算出行和列的跨度,就可以動態組織數據,生成復雜的表格[3]。

經過改進的API中有多個重載的InsertComplexTable方法,用來實現復雜表格的顯示,需要為此方法提供至少三個參數,分別為標題數組、正文數組和列數,如果還有更高的要求,可以提供更多的參數。

public void insertComplexTable(ListtitleData,ListcontentData,int column,int[]columnwidth) throws DocumentException

那么,如何通過算法對數據的行跨度和列跨度進行計算,是需要解決的重點問題。表格數據多存放于集合中,需要對集合類的結構進行遍歷,確定行跨度和列跨度,遍歷采用如下方法進行,考慮到章節和知識點之間的嵌套,采用循環遍歷的方式對數據進行清洗,確定每個單元和節的行跨度。在當前系統中集合的結構共有三層,相當于樹的結構是三層,對內容進行遍歷,根據下一層節點的個數,先把上一層結構補充完成[4]。

3.1.2 頁眉、頁腳的生成

Itext還能夠實現水印、頁碼、復雜表格、圖片、頁眉等內容的生成,頁眉和頁腳生成效果如圖4所示。

3.2 替換生成

在高校管理系統中,有部分教學文檔格式復雜,但是內容固定,僅需要替換和填充就可以。此類文檔適合采用替換的方式生成。教學日歷和畢業證明等文檔的格式、樣式和版式都是相同的,只是部分字段進行替換即可[5],那么對于這樣的文檔適合使用文本替換的技術實現,替換涉及的文檔主要也是Word和Excel。

3.2.1 Word的替換應用POI的替換功能

首先來看Word文檔的替換,主要應用于生成畢業證明和學位證明。利用標簽技術來確定待替換的變量的位置[4],對于每個要替換的數據都設置為單獨的標簽,在編寫標簽需要注意的一點就是標簽不能有其他格式,必須清除無效字符,可以在文本編輯器中編寫,粘貼到Word文檔中采用POI自帶的功能,把要被替換的數據組織在HashMap中,例如:

3.2.2 Excel的替換

其次是Excel的替換。Excel文檔的替換主要是在教學日歷中使用,經對比發現利用JXLS來實現內容的替換最適合。此方法采用編寫腳本的方式,腳本中可以寫入代碼,相同格式的數據可以循環插入,把數據以類的方式組織,放在List中,例如Course類。如果Course類中包含其他的類,可以作為屬性[7]。

4 結論(Conclusion)

通過對Itext、POI和JXLS等文本輸出技術的研究和對比,對原有API進行改進,采用最優的方法實現了文本的在線輸出,能夠滿足以多種復雜的方式輸出Word和Excel文本。本文的方式和方法已在項目中進行應用。另外在文獻[6]—文獻[8]的App系統中,也進行了應用,并取得了非常良好的效果。

參考文獻 (References)

[1] Bing L,Li P,Liao Y,et al.Abstractive Multi-Document Summarization via Phrase Selection and Merging[J].Computational Linguistics,2015,31(4):505-530.

[2] Abualigah L M,Khader A T,Al-Betar M A,et al.Text feature selection with a robust weight scheme and dynamic dimension reduction to text document clustering[J].Expert Systems with Applications,2017,84(C):24-36.

[3] Ayyar K,Han C J.System and method for computing, applying, and displaying document deltas[J].Remote Sensing of Environment,2017,118(118):339-355.

[4] 周千明,朱欣娟.基于Aspose技術的自定義模板文檔生成方法[J]. 計 算 機 系 統 應 用,2015,24(6):235-238.

[5] 張艷偉.QT框架下的WORD文檔生成方法[J].計算機應用與軟件,2015,32(10):120-122;150.

[6] 付麗梅,鄧繼禹,賈躍.基于騰訊微校平臺的易學習APP設計與實現[J].考試周刊,2017(07):112.

[7] 付麗梅,劉英鵬,賈躍.基于騰訊微校平臺的校園移動辦公APP設計與實現[J].信息系統工程,2017(01):156-157.

[8] 邵欣欣,徐健晟,冀航宇.基于VR的幻房App的設計與運營分析[J].電子元器件與信息技術,2017,7(01):1-5.

作者簡介:

邵欣欣(1980-),女,碩士,副教授.研究領域:軟件工程,虛擬現實.

張明會(1980-),女,碩士,教授.研究領域:軟件工程,算法.

高梓峻(1995-),男,本科,工程師.研究領域:軟件工程,軟件開發.

主站蜘蛛池模板: 亚洲精品无码久久毛片波多野吉| 欧美视频二区| 国产亚洲欧美在线专区| 亚洲swag精品自拍一区| 午夜不卡视频| 国产精品专区第一页在线观看| 最新亚洲av女人的天堂| 国产精品色婷婷在线观看| 久久国产拍爱| 国产成a人片在线播放| 人妻一区二区三区无码精品一区| 亚洲熟女中文字幕男人总站| a国产精品| 婷婷开心中文字幕| 国产综合日韩另类一区二区| 久久国产V一级毛多内射| 国产精品午夜电影| 91原创视频在线| 青青草原国产av福利网站| 亚洲人视频在线观看| 亚洲国产日韩欧美在线| 免费精品一区二区h| 四虎永久在线精品影院| 欧美一区福利| 精品国产www| 一区二区午夜| 亚洲精品无码久久毛片波多野吉| 久久综合AV免费观看| v天堂中文在线| 国产精品成人免费视频99| 欧美亚洲另类在线观看| 国产综合精品一区二区| 国产精品嫩草影院av| 成人韩免费网站| 亚欧成人无码AV在线播放| 亚洲日本中文字幕天堂网| 国产在线八区| 色婷婷在线播放| 亚洲精品手机在线| 国产制服丝袜无码视频| 尤物国产在线| 99热这里只有精品5| 亚洲人成网站色7777| 久99久热只有精品国产15| 国产草草影院18成年视频| 啪啪国产视频| 三区在线视频| 日本欧美在线观看| 无码专区国产精品一区| 国产91视频观看| 亚洲 日韩 激情 无码 中出| 国产69精品久久久久孕妇大杂乱 | 国产成人综合欧美精品久久| 三上悠亚在线精品二区| 一区二区理伦视频| 亚洲成人免费看| 波多野结衣无码视频在线观看| 99在线视频网站| 国产精品视频系列专区| 国产a v无码专区亚洲av| 国产成人超碰无码| 久久香蕉国产线看观看式| 亚洲天堂自拍| 高清精品美女在线播放| 国产成人精品优优av| 美女被躁出白浆视频播放| 亚洲一级无毛片无码在线免费视频| 国产尤物在线播放| 精品五夜婷香蕉国产线看观看| 久久综合久久鬼| 最新精品国偷自产在线| 国产欧美中文字幕| 无码精品福利一区二区三区| 久久久久青草线综合超碰| 欧美精品成人| 色国产视频| 日韩精品中文字幕一区三区| 精品无码日韩国产不卡av | 一本综合久久| 日韩欧美视频第一区在线观看| 国产精品视频a| 97亚洲色综久久精品|