<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++博客   博問  
     
    主站蜘蛛池模板: 免费看一区二区三区四区| 成人午夜免费视频| 亚洲精品视频免费看| 国产精品国产亚洲精品看不卡| 中文字幕手机在线免费看电影| 国产aⅴ无码专区亚洲av麻豆| 免费国产草莓视频在线观看黄| www.亚洲色图| 国产精品免费在线播放| 久久激情亚洲精品无码?V| 国内精品免费在线观看 | 国产成人免费AV在线播放| 亚洲一区二区三区偷拍女厕| 亚洲一级片免费看| 国产亚洲一区二区精品| 91短视频免费在线观看| 亚洲xxxxxx| 亚洲日本一区二区一本一道| 中文字幕免费在线播放| 亚洲精品视频在线播放| 久久久高清免费视频| 午夜亚洲国产精品福利| 亚洲日韩在线中文字幕第一页 | 国产日本亚洲一区二区三区| 午夜老司机免费视频| 日韩大片免费观看视频播放| 亚洲精品无码永久中文字幕| 久久精品私人影院免费看| 亚洲人成综合在线播放| 免费人成在线观看视频播放| 国内精品久久久久影院免费| 亚洲精品午夜国产va久久| 亚洲爽爽一区二区三区| 日韩免费无码视频一区二区三区| 中国亚洲呦女专区| 亚洲一区二区三区香蕉| 青青视频观看免费99| 国产午夜亚洲精品不卡| 亚洲视频精品在线| 免费人成年轻人电影| 3d成人免费动漫在线观看|