java中往Word中插入图片

给定一个Word模板,需要在指定的位置插入一寸的照片,可以获取到图片在数据库中存的位置,怎么让图片正确的显示在Word上?

用npoi获取word应用进程,直接操作实体。插入图片对象就行了。

import com.spire.doc.*;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ParagraphStyle;
import com.spire.doc.fields.DocPicture;

import java.awt.*;

public class InsertImage {
    public static void main(String[] args){
        //创建Document对象
        Document doc = new Document();
        //添加节
        Section section = doc.addSection();

        //添加第一个段落
        Paragraph paragraph1 = section.addParagraph();
        //设置段落文本
        paragraph1.setText("Insert Image Demo by Spire.Doc for Java");

        //添加第二个段落
        Paragraph paragraph2 = section.addParagraph();
        //添加图片到段落
        DocPicture picture = paragraph2.appendPicture("C:\\Users\\Administrator\\Desktop\\Hydrangeas.jpg");
        //设置图片宽度
        picture.setWidth(300f);
        //设置图片高度
        picture.setHeight(250f);

        //给第一个段落设置样式
        ParagraphStyle style = new ParagraphStyle(doc);
        style.setName("titleStyle");
        style.getCharacterFormat().setBold(true);
        style.getCharacterFormat().setTextColor(Color.BLUE);
        style.getCharacterFormat().setFontName("Arial");
        style.getCharacterFormat().setFontSize(18f);
        doc.getStyles().add(style);
        paragraph1.applyStyle("titleStyle");

        //给第一个段落和第二个段落设置水平居中对齐方式
        paragraph1.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        paragraph2.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        
        //设置第一个段落的段后间距
        paragraph1.getFormat().setAfterSpacing(15f);
        
        //保存
        doc.saveToFile("InsertImage.docx", FileFormat.Docx_2013);
    }
}