试试这个代码,需要添加spire.doc jar依赖
import com.spire.doc.Documentimport 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:
试试下面的代码,需要添加spire.doc.jar为依赖
import com.spire.doc.Document
import com.spire.doc.FileFormat
import com.spire.doc.Section
import com.spire.doc.documents.Paragraph
import com.spire.doc.fields.DocPicture
import java.io.File
import java.io.FileInputStream
import java.io.FileNotFoundException
import java.io.InputStream
public class AppendImage {
public static void main(String[] args) throws FileNotFoundException {
//创建Document对象
Document doc = new Document()
//加载Word文档
doc.loadFromFile("G:\\360MoveData\\Users\\Administrator\\Desktop\\Test.docx")
//获取最后一节
Section lastSection = doc.getLastSection()
//添加段落
Paragraph paragraph = lastSection.addParagraph()
//添加图片到段落
InputStream inputStream = new FileInputStream(new File("G:\\360MoveData\\Users\\Administrator\\Desktop\\image.jpg"))
DocPicture picture = paragraph.appendPicture(inputStream)
//设置图片高宽
picture.setWidth(120f)
picture.setHeight(120f)
//保存文档
doc.saveToFile("AppendImage.docx", FileFormat.Docx_2013)
}
}
首先你得打开这个word文档,然后你再把这个图片做成文件流的格式,然后把它写进去。但是这个过程如果你用java自带的文件流格式打开的话,写进去会是乱码。我做过的方法是用开源框架包,poi.jar可以用来做有关office的打开、写入、读出等 *** 作,具体代码没有了,但是demo里面的代码都已经足够了,你自己稍微看看就能知道怎么做了。这个包还是比较稳定的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)