<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-35  評論-33  文章-0  trackbacks-0

        docx4j是一款在java世界處理微軟word/ppt/excel文檔的強大工具。它其實是一個半開源的產品。雖然它對WORD各種處理在API層 面進行了封裝,但是像WORD本身的拆分,合并。其作者(Jason Harrop)是單獨提出來了,封裝成了商用的JAR包來提供支持。而我在深入學習其API之后,先后將組合,拆分技術進行了實現。

        docx4j用到了個比較N的技術--JAXB.它建立了XML文件與JAVA對象互相轉換的一個橋梁。

    JAXB(Java Architecture for XML Binding) 是一個業界的標準,是一項可以根據XMLSchema產生Java類的技術。該過程中,JAXB也提供了將XML實例文檔反向生成Java對象樹的方法, 并能將Java對象樹的內容重新寫到XML實例文檔。從另一方面來講,JAXB提供了快速而簡便的方法將XML模式綁定到Java表示,從而使得Java 開發者在Java應用程序中能方便地結合XML數據和處理函數。

    WORD以XML存儲的原理:

    WordprocessingML體系結構圖


    WordML以XML的格式定義了文檔中各個部分的屬性,如頁眉,頁腳,圖片,樣式。每一種資源都其實是使用一個XML的結點來描述。舉例來說明:

    假如有這樣一個文檔

    docx4j可以將WORD直接轉換其對應的XML文檔,我們可以以第一段【開始】到【題文】那一段的XML片斷來說明。初步看,這段內容包含了若干文字,一張圖片。

    文字段:

    圖片:

    圖片的關聯資源引用定義:

    圖片資源的數據定義:

    看到NB的地方沒有,使用binarydata存儲這個圖片的數據。


    組合原理:


    拆分原理:

    原理基本如上,已經在項目中實際應用。有了這層API,你可以通過程序去生成一份試卷(類似學科網的組卷功能),或者把試卷拆分成單個的試題入庫。如有不明白的,歡迎溝通學習。

    之前生成的試卷sample:主要在基礎API之上,封裝了生成一份試卷常用的方法。其實就是內容的樣式設置及WORD組合。




    我的微信公眾號,歡迎溝通學習。
    posted on 2016-03-14 16:10 alexcai 閱讀(5561) 評論(2)  編輯  收藏

    評論:
    # re: 利用docx4j來處理word的合并與拆分[未登錄] 2016-03-18 06:54 | xin
    ooxml太繁瑣,docx4j在word層面做的不錯可惜更新太慢bug還是一堆。對于更精細的控制,為了保持穩定性,更推薦直接用COM調微軟API(server只能是windows而且有時很腦殘)
    或者期待下POI把word和ppt部分搞出來。
    反正對于復雜模型下的office文件生成,只有微軟自己的API最靠譜。(鄙視微軟)  回復  更多評論
      
    # re: 利用docx4j來處理word的合并與拆分 2016-03-18 09:25 | zuxiong
    @xin
    其實在這之前,我用JACOB 進行同樣功能的封裝,已經實現上上述功能。只在它是基于VBA的,在資源的處理層面,比如WORD的COPY,它是共享的。注定一臺機器同一時間只能處理一組WORD的拆分與合并處理。不能并行。所以后來才考慮使用DOCX4J。
      回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 18禁美女黄网站色大片免费观看 | 国产午夜成人免费看片无遮挡 | 国产四虎免费精品视频| 亚洲 日韩经典 中文字幕| 亚洲AV无码成H人在线观看| 免费人成在线观看网站| 亚洲欧洲无卡二区视頻| 亚洲无人区一区二区三区| 台湾一级毛片永久免费| 一区二区三区免费在线视频 | 91免费资源网站入口| 一级白嫩美女毛片免费| 亚洲熟妇av一区二区三区下载| 又大又粗又爽a级毛片免费看| 无遮挡免费一区二区三区| 亚洲综合在线成人一区| 亚洲av麻豆aⅴ无码电影| 最近免费中文字幕大全免费版视频| 相泽南亚洲一区二区在线播放| 无码欧精品亚洲日韩一区| 韩国免费三片在线视频| 毛片免费在线观看| 国产亚洲漂亮白嫩美女在线| 亚洲精品午夜视频| 亚洲精品无码久久久久sm| 好爽好紧好大的免费视频国产| 蜜臀98精品国产免费观看| 一个人看的在线免费视频| 亚洲色少妇熟女11p| 亚洲综合无码一区二区| 久久夜色精品国产亚洲av| 成人免费午夜视频| 88av免费观看| 男女一边摸一边做爽的免费视频| 亚洲精华国产精华精华液网站| 亚洲A∨无码一区二区三区| 国产亚洲老熟女视频| 免费一级做a爰片性色毛片| 手机在线看永久av片免费| 99re6在线视频精品免费下载| A级毛片成人网站免费看|