java想要对已有word文档追加图片,应该怎么做?

发布网友

我来回答

2个回答

热心网友

试试这个代码,需要添加spire.doc jar依赖

import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.*;
import com.spire.doc.fields.DocPicture;

public class InsertImage {

    public static void main(String[] args) {

        //实例化Document对象
        Document doc = new Document();
        //加载文档
        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.docx");
        //获取第一个section
        Section section = doc.getSections().get(0);
        //添加一个段落
        Paragraph para = section.addParagraph();
        //添加图片到段落
        DocPicture picture = para.appendPicture("C:\\Users\\Administrator\\Desktop\\Cartoon.png");
        //设置文字环绕方式(居于文字上方)
        picture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text);
        //指定图片的相对位置
        picture.setHorizontalOrigin(HorizontalOrigin.Page);
        picture.setHorizontalPosition(250f);
        picture.setVerticalOrigin(VerticalOrigin.Top_Margin_Area);
        picture.setVerticalPosition(150f);
        //设置图片大小
        picture.setWidth(80f);
        picture.setHeight(80f);
        //保存到文档
        doc.saveToFile("output/InsertImage.docx", FileFormat.Docx);
    }
}

生成的Word:

热心网友

以前做过其他office的没做过微软的,不过大同小异
这个你就需要在java中获取到word的某种对象,方法有很多,但是要看你用什么方式调用的office了,如果是某个牌子的中间件,那就用那个中间件的二次开发文档里面应该就有提到这些方法,如果是第三方的jar包,应该也不麻烦,通过jar包中的方法,可能要有一个word的实例创建的过程吧,然后获取到range或者textrange等这些对象(应该是这俩对象……)通过这对象然后找到插入图片的方法,然后传入位置参数(可能是两个数用逗号隔开)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com