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-),男,本科,工程師.研究領域:軟件工程,軟件開發.

主站蜘蛛池模板: 欧美一级大片在线观看| 玩两个丰满老熟女久久网| 最新国产成人剧情在线播放 | 四虎永久在线| 国产成人精品免费av| 国产本道久久一区二区三区| 亚洲AⅤ综合在线欧美一区 | 亚欧美国产综合| 久久 午夜福利 张柏芝| 97超碰精品成人国产| 91在线播放国产| 亚洲乱码视频| 亚洲国产AV无码综合原创| 一区二区在线视频免费观看| 久久人妻xunleige无码| 亚洲熟女偷拍| 高潮毛片免费观看| 国产成人乱无码视频| 无码久看视频| 国内丰满少妇猛烈精品播| 亚洲AⅤ波多系列中文字幕| 亚洲无码A视频在线| 波多野结衣无码AV在线| 有专无码视频| 国产浮力第一页永久地址| 超碰aⅴ人人做人人爽欧美| 97久久超碰极品视觉盛宴| 国产成人91精品免费网址在线 | 婷婷伊人久久| 中国国语毛片免费观看视频| 九九九久久国产精品| 国产一区二区精品高清在线观看| 538国产视频| 成人在线不卡视频| 久草美女视频| 国产成年无码AⅤ片在线| 欧美在线国产| 欧美国产精品不卡在线观看| 亚洲五月激情网| 久久香蕉国产线看精品| 日本道综合一本久久久88| 国内精品自在欧美一区| 亚洲男人天堂2018| 国产成人1024精品| 亚洲人成网站色7799在线播放| 尤物成AV人片在线观看| 美女扒开下面流白浆在线试听| 久久精品国产亚洲麻豆| 少妇精品在线| 欧美a级完整在线观看| 香蕉视频在线观看www| 99在线观看免费视频| 男女性午夜福利网站| 青青操国产| 免费在线成人网| 国产对白刺激真实精品91| 国产91高清视频| 久久久久中文字幕精品视频| 在线视频亚洲欧美| 激情综合五月网| 亚洲另类第一页| 超清无码熟妇人妻AV在线绿巨人| 色婷婷亚洲综合五月| 综合网天天| 色综合日本| 国产精品欧美激情| 久久综合色视频| 福利视频一区| 亚洲成年人片| 成AV人片一区二区三区久久| 99精品在线看| 18禁不卡免费网站| 99青青青精品视频在线| 无码网站免费观看| 国产成人高精品免费视频| 五月天天天色| 欧美在线中文字幕| 玩两个丰满老熟女久久网| 亚洲国产中文综合专区在| 77777亚洲午夜久久多人| 日韩毛片免费观看| 欧美在线一二区|