JAVA编辑WORD文件插入图片

JAVA编辑WORD文件插入图片,第1张

试试这个代码,需要添加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:

试试下面的代码,需要添加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里面的代码都已经足够了,你自己稍微看看就能知道怎么做了。这个包还是比较稳定的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11543361.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存