2015-05-21 43 views
0

我試圖最終將內容從docx文件複製到剪貼板。我已經拿出的代碼到目前爲止是:從docx中複製內容,子彈與Apache POI完好無損

package config; 

public class buffer { 

    public static void main(String[] args) throws IOException, XmlException { 
     XWPFDocument srcDoc = new XWPFDocument(new FileInputStream("D:\\rules.docx")); 

     XWPFDocument destDoc = new XWPFDocument(); 
     OutputStream out = new FileOutputStream("D:\\test.docx"); 

     for (IBodyElement bodyElement : srcDoc.getBodyElements()) { 
      XWPFParagraph srcPr = (XWPFParagraph) bodyElement; 
      XWPFParagraph dstPr = destDoc.createParagraph(); 
      dstPr.createRun(); 
      int pos = destDoc.getParagraphs().size() - 1; 
      destDoc.setParagraph(srcPr, pos); 
     } 

     destDoc.write(out); 
     out.close(); 
    } 
} 

這會取得的項目符號,但數字他們。我想保留原始的子彈格式。有沒有辦法做到這一點?

回答

1

您需要正確處理編號定義(在編號部分)。

最可靠的做法是複製定義(包括實例列表和抽象實例)並對其重新編號(即給它一個新的ID),以使其唯一。

那麼當然你需要更新段落中的ID來匹配。

請注意,以上是僅針對您所提問題的解決方案。

如果您的內容包含rel到其他部分(例如圖像),則會遇到問題。而你沒有處理風格定義等。