如何使用Apache POI API合并.doc文件

时间:2014-03-21 16:47:56

标签: java apache-poi

我正在尝试合并.doc文件,我使用了以前的stackOverflow帖子中找到的代码:

        public static void main (String[] args) throws Exception {  
        // POI apparently can't create a document from scratch,  
        // so we need an existing empty dummy document  
        HWPFDocument doc = new HWPFDocument(new FileInputStream("fich1.doc"));  
        Range range = doc.getRange();  


        //I can get the entire Document and insert it in the tmp.doc  
        //However any formatting in my word document is lost.  
        HWPFDocument doc2 = new HWPFDocument(new FileInputStream("fich2.doc"));  
        Range range2 = doc2.getRange();  
        range.insertAfter(range2.text());  

        //I can get the information (text only) for each character run/paragraph or section.  
        //Again any formatting in my word document is lost.  
        HWPFDocument doc3 = new HWPFDocument(new FileInputStream("fich3.doc"));  
        Range range3 = doc3.getRange();  
        for(int i=0;i<range3.numCharacterRuns();i++){  
            CharacterRun run3 = range3.getCharacterRun(i);  
            range.insertAfter(run3.text());  
        }  

        OutputStream out = new FileOutputStream("result.doc");  
        doc.write(out);  
        out.flush();  
        out.close();  
}  

我遇到此错误的问题:

  

Your document seemed to be mostly unicode, but the section definition was in bytes! Trying anyway, but things may well go wrong! Your document seemed to be mostly unicode, but the section definition was in bytes! Trying anyway, but things may well go wrong! Your document seemed to be mostly unicode, but the section definition was in bytes! Trying anyway, but things may well go wrong!

以下是不同文件的内容:

fich1.doc:大家好

fich2.doc:Bonjouràtous

fich3.doc: Hallo alles

resullt.doc:嗨allB

1 个答案:

答案 0 :(得分:1)

这个错误在poi 3.9 jars:used jars

中得到修复
  

poi-3.9.jar / poi-ooxml-3.9.jar / poi-ooxml-schemas-3.9.jar / poi-scratchpad-3.9.jar

相关问题