<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

            在word的處理之中,文字,各種類型的圖片,最復雜的公式,之前編寫的API基本都覆蓋了。不過,昨天在做一個文檔測試時,發現表格沒有能很好的處理。debug文檔對應的xml發現,表格與其它這幾種內容的組織方式不太一樣。像圖片,公式,不管么樣,都還在基于p(word的基本段落標簽)標簽,圖片與公式的內容都還是隸屬于p的內容塊里面。但是表格的組織方式是順序的,獨立于任何元素。我們可以通過一張圖來看看:



    并且它的上級節點就是document,tbl就是word中對應的表格,里面有對表格寬度,高度,行列的各種屬性定義。

    拆分:

    具體在做內容拆分的時候,如果把某一塊內容的拆在一起,這是很關鍵的。特別是里面包含了文字,圖片,表格。問題來了,如何定位表格呢?請看下面的圖:



    很明顯,表格里面如果要顯示內容,必然是有p元素塊。在通過過濾p元素塊的過程中,我們可以定位到表格中的某一個cell 塊,通過docx4j提供的得到父表簽的方法,就能找出當前這個cell所在表格在哪一行,那一行屬于哪個表格。過程就是tc=>tr=>tbl的關系(如果對docx4j的API熟悉,你就毫無壓力)。有些同學可能會問,如果通過1定位到了表格,那2,3,4,5,6肯定都能定位了?這樣不就同一個表格重復了嗎?good question!解決這個問題也很easy,我們可以對添加過的tbl做一個緩存,如果下次再出現,證明已經處理過了。效果如圖:



    原word截圖



    拆分之后

    以上就是關于拆分的原理說明。下面,我們簡單說一下組合。

    組合:

    單純就表格來說,組合其實不復雜,通過body得到當前子WORD的所有元素,遍歷之后添加到新的WORD就行了。

    最后貼一張合成的WORD截圖:



    1



    2



    3



    4



    整個WORD是一個A3的版式,是帶奇偶分頁的。



    我的微信公眾號,歡迎溝通學習。
    posted on 2017-08-25 15:54 alexcai 閱讀(759) 評論(0)  編輯  收藏

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


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲乱码一二三四区乱码| 亚洲视频一区在线| 精品在线观看免费| 又粗又黄又猛又爽大片免费| 亚洲精品福利你懂| 在线观看免费国产视频| 羞羞漫画小舞被黄漫免费| 免费萌白酱国产一区二区| 特级毛片免费观看视频| 亚洲AV伊人久久青青草原| 亚洲精品黄色视频在线观看免费资源 | 亚洲a在线视频视频| 99热精品在线免费观看| 亚洲成av人片不卡无码| 亚洲码一区二区三区| jjizz全部免费看片| 亚洲日本中文字幕天天更新| 免费中文字幕在线| 97超高清在线观看免费视频| 久久久亚洲欧洲日产国码农村| 中国人xxxxx69免费视频| 亚洲色成人四虎在线观看| 免费国产成人高清视频网站 | 久久国产精品国产自线拍免费| 亚洲av中文无码乱人伦在线r▽| 一级毛片在线免费观看| 亚洲精品无码久久久久APP| 亚洲免费日韩无码系列| 亚洲日韩AV无码一区二区三区人| 又爽又高潮的BB视频免费看| 国产日韩一区二区三免费高清| 亚洲国产成人综合| 久操免费在线观看| 亚洲第一男人天堂| 国产亚洲精品无码专区| 精品福利一区二区三区免费视频| 久久久久久亚洲精品无码| 久久亚洲AV成人无码国产 | 一区二区三区免费在线观看| 成人爱做日本视频免费| 美女被免费网站91色|