我需要添加一個簡單的文本(從另一個.txt或.doc文件)到一個.doc文件代碼是非常簡單的:Apache Poi:文本被添加到.doc文件之前它的內容,但不是在它之後
public static void main(String[] args) throws IOException {
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("/home/amira/work/APPS-579/word/test1.doc"));
HWPFDocument doc = new HWPFDocument(fs);
Range range = doc.getRange();
CharacterRun run = range.insertAfter("Hello World!!! It works well!!!");
run.setBold(true);
run.setItalic(true);
run.setCapitalized(true);
OutputStream out = new FileOutputStream("/home/amira/work/APPS-579/word/sampleAfter.doc");
doc.write(out);
out.flush();
out.close();
}
新的sampleAfter.doc被創建,但只包含test1.doc的內容:「Hello World !!! It works well !!!」字符串尚未添加。
我嘗試了用
range.insertBefore(字符串文本)
方法,所以它的工作原理和字符串test1.doc的內容前添加。
我真的不明白。 有沒有這個問題的解釋。
這裏的test1.doc的內容:
瞧週一首選測試樂24/03/24
這裏的結果:System.out.println(range.text());
隨着的insertBefore:
- Hello World !!!它運作良好!瞧週一首選測試樂24/03/24
隨着insertAfter:
Voilà mon premier test le 24/03/24
Hello World!!! It works well!!!
這是什麼版本的Apache POI? – Gagravarr
@Gagravarr最後一個3.9,因爲我有以前版本的poi這個問題http://stackoverflow.com/questions/22564664/how-to-merge-doc-files-using-apache-poi-api/22607078# 22607078 – AmiraGL
你有沒有試過最新的,比如3.10? – Gagravarr