如何以编程方式将图像插入Word文档?

时间:2010-03-19 05:05:10

标签: java

我只是在寻找那个。是否可以通过Java将图像插入MS Word文档? 请回复....

7 个答案:

答案 0 :(得分:2)

import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.util.Units;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class test {
    public static void main(String[] args) throws Exception {
        XWPFDocument doc = new XWPFDocument();
        XWPFParagraph p = doc.createParagraph();
        XWPFRun xwpfRun = p.createRun();
        String[] IMageargs={
                "c:/1.jpg","c:/2.jpg","c:/3.jpg","c:/4.jpg"
        };
        for (String imgFile : IMageargs) {
            int format=XWPFDocument.PICTURE_TYPE_JPEG;
            xwpfRun.setText(imgFile);
            xwpfRun.addBreak();
            xwpfRun.addPicture (new FileInputStream(imgFile), format, imgFile, Units.toEMU(200), Units.toEMU(200)); // 200x200 pixels
            //xwpfRun.addBreak(BreakType.PAGE);
        }
        FileOutputStream out = new FileOutputStream("C:\\test.docx");
        doc.write(out);
        out.close();
    }
}

将文件放在路径[src文件夹]中的链接java file中,并记住不要更改包结构。 我用word 2007测试了它,apache poi 3.10不确定其他版本。

答案 1 :(得分:1)

不容易,但有可能。试试Apache POI

答案 2 :(得分:1)

请查看Openoffice UNOAspose.word了解JAVA。

有关this旧问题的更多信息。

Here在Openoffice UNO论坛的Java部分发布了一个例子。

Here Java Sdk。

答案 3 :(得分:0)

答案 4 :(得分:0)

另一种选择是查看Apache POI HWPF - 用于处理Microsoft Word文件的Java API

http://poi.apache.org/hwpf/index.html

来自网站:

  

HWPF是我们港口的名称   Microsoft Word 97(-2007)文件格式   纯Java。它不支持   新的Word 2007 .docx文件格式,其中   不是基于OLE2。

这可能是一个好的开始: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFPictures.java?view=log

答案 5 :(得分:0)

使用Docmosis非常直接 - 放置标记图像,书签并告诉docmosis处理替换图像的文档。

答案 6 :(得分:0)