日期:2014-05-18  浏览次数:20960 次

jacob设置word图片文字环绕方式
本帖最后由 ni19860609 于 2013-10-30 18:27:22 编辑
/**
 * 在指定的书签位置插入图片
 * @param bookmarkName
 * @param imagePath
 * @param width
 * @param height
 */
public void insertImageAtBookmark(String bookmarkName, String imagePath, int width, int height){
Dispatch dispatch = getBookmark(bookmarkName);
if(dispatch != null){
Dispatch picture = Dispatch.call(Dispatch.get(dispatch, "InLineShapes").toDispatch(), "AddPicture", imagePath).toDispatch();
Dispatch.call(picture, "Select");
Dispatch.put(picture, "Width", new Variant(width));
Dispatch.put(picture, "Height", new Variant(height));
}
}

这个是调用微软jacob插件是插入图片的方法的主体,这里可以设置图片的大小,但是图片的插入文字环绕模式默认是嵌入式
现在想通过jacob插入的图片的时候直接是衬托于文字下面,无从入手呀
jacob word 图片 微软

------解决方案--------------------
额  终于弄出来了
Dispatch picture = Dispatch.call(Dispatch.get(selection,           "InLineShapes").toDispatch(),"AddPicture", imagePath).toDispatch(); // 添加图片
Dispatch.call(picture, "Select"); // 选中图片
Dispatch.put(picture, "Width", new Variant(width)); // 图片的宽度
Dispatch.put(picture, "Height", new Variant(height)); // 图片的高度
Dispatch ShapeRange = Dispatch.call(picture, "ConvertToShape").toDispatch(); // 取得图片区域
Dispatch WrapFormat = Dispatch.get(ShapeRange, "WrapFormat").toDispatch(); // 取得图片的格式对象
Dispatch.put(WrapFormat, "Type", 6); // 设置环绕格式(0 - 7)下面是参数说明

// wdWrapInline 7 将形状嵌入到文字中。 
// wdWrapNone 3 将形状放在文字前面。请参阅 wdWrapFront 。
// wdWrapSquare 0 使文字环绕形状。行在形状的另一侧延续。
// wdWrapThrough 2 使文字环绕形状。
// wdWrapTight 1 使文字紧密地环绕形状。
// wdWrapTopBottom 4 将文字放在形状的上方和下方。
// wdWrapBehind 5 将形状放在文字后面。
// wdWrapFront 6 将形状放在文字前面。