📜  使用Java将图像添加到 Word 文档

📅  最后修改于: 2022-05-13 01:55:29.220000             🧑  作者: Mango

使用Java将图像添加到 Word 文档

Java可以使用Apache POI 包提供的XWPFRun 类的addPicture()方法将图像添加到Word 文档中。 Apache POI 是由 Apache 软件基金会开发和维护的流行 API。它提供了几个类和方法来使用Java对 Microsoft Office 文件执行不同的文件操作。为了将图像附加到word文档,基本的必要是导入Apache的以下库。

方法:

  • addPicture():帮助将图像附加到整个文件。它的定义如下:

句法:

参数:

  • imageData:原始图片数据
  • imageType:图片的类型,例如 XWPFDocument.PICTURE_TYPE_JPEG
  • imageFileName:图片文件名
  • 宽度:动车组中的宽度
  • 高度:动车组高度

方法:

  1. 使用 Apache POI 包的 XWPFDocument 创建一个空白文档。
  2. 使用 XWPFParagraph 对象的 createParagraph() 方法创建一个段落。
  3. 分别创建 Word 和 Image 的 FileOutputStream 和 FileInputStream。
  4. 创建 XWPFRun 对象并使用 addPicture() 方法添加图片。

执行:

  • 第 1 步:创建空白文档
  • 第 2 步:创建段落
  • 第三步:在需要的位置创建word文档的文件输出流
  • 第 4 步:通过指定其路径创建图像的文件输入流
  • 步骤 5:检索图像文件名和图像类型
  • 第 6 步:以像素为单位设置图像的宽度和高度
  • 第七步:使用addPicture()方法添加图片并写入文档
  • 步骤 8:关闭连接

示例输入图像:实施前

例子:

Java
// Java program to Demonstrate Adding a jpg image
// To a Word Document
  
// Importing Input output package for basic file handling
import java.io.*;
import org.apache.poi.util.Units;
// Importing Apache POI package
import org.apache.poi.xwpf.usermodel.*;
  
// Main class
// To add image into a word document
public class GFG {
  
    // Main driver method
    public static void main(String[] args) throws Exception
    {
  
        // Step 1: Creating a blank document
        XWPFDocument document = new XWPFDocument();
  
        // Step 2: Creating a Paragraph using
        // createParagraph() method
        XWPFParagraph paragraph
            = document.createParagraph();
        XWPFRun run = paragraph.createRun();
  
        // Step 3: Creating a File output stream of word
        // document at the required location
        FileOutputStream fout = new FileOutputStream(
            new File("D:\\WordFile.docx"));
  
        // Step 4: Creating a file input stream of image by
        // specifying its path
        File image = new File("D:\\Images\\image.jpg");
        FileInputStream imageData
            = new FileInputStream(image);
  
        // Step 5: Retrieving the image file name and image
        // type
        int imageType = XWPFDocument.PICTURE_TYPE_JPEG;
        String imageFileName = image.getName();
  
        // Step 6: Setting the width and height of the image
        // in pixels.
        int width = 450;
        int height = 400;
  
        // Step 7: Adding the picture using the addPicture()
        // method and writing into the document
        run.addPicture(imageData, imageType, imageFileName,
                       Units.toEMU(width),
                       Units.toEMU(height));
        document.write(fout);
  
        // Step 8: Closing the connections
        fout.close();
        document.close();
    }
}


输出: