如何以编程方式将图像插入Word文档?
答
查看Aspose Words for Java。
答
,看一下Openoffice UNO或Aspose.word用于JAVA。
有关this old SO问题的更多信息。
Here在OpenOffice UNO论坛的Java部分发布了一个例子。
Here Java Sdk。
答
另一种选择是看的Apache POI HWPF - 的Java API来处理Microsoft Word文件
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
答
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();
}
}
把文件中的链接java file路径[src文件夹]并记住不要更改包结构。 我已经用word 2007测试过,apache poi 3.10不太确定其他版本。
在OpenOffice中没有得到任何东西。请提供相同的准确源代码。 – 2010-03-23 06:22:42
我已经添加了一个例子。 – systempuntoout 2010-03-24 07:31:30