WORD POI 图形
时间: 2024-02-10 17:04:56 浏览: 35
使用 Apache POI 中的 XWPF(操作 Word 2007 及以上版本的 `.docx` 文件)可以方便地读取、创建和修改 Word 文档中的图形。
首先,需要获取文档中的所有图形,可以通过 `XWPFDocument` 中的 `getAllPictures()` 方法获取。返回的是一个 `List<XWPFPictureData>`,其中每个元素对应一个图形。
```java
XWPFDocument document = new XWPFDocument(new FileInputStream("example.docx"));
List<XWPFPictureData> pictures = document.getAllPictures();
```
接着,可以遍历 `pictures` 列表,获取每个图形的二进制数据和类型。例如,可以将图形保存为文件:
```java
for (XWPFPictureData picture : pictures) {
byte[] data = picture.getData();
String type = picture.getPictureType().name();
FileOutputStream out = new FileOutputStream("picture." + type);
out.write(data);
out.close();
}
```
除了读取图形外,还可以在 Word 文档中创建和修改图形。可以通过 `XWPFRun` 对象中的 `addPicture()` 方法添加图形,也可以通过 `XWPFParagraph` 对象中的 `createRun()` 方法创建一个包含图形的文本段落。
```java
XWPFRun run = paragraph.createRun();
run.setText("这是一张图片:");
run.addPicture(new FileInputStream("picture.jpg"), XWPFDocument.PICTURE_TYPE_JPEG, "picture.jpg", Units.toEMU(200), Units.toEMU(200));
```
其中,`addPicture()` 方法的第一个参数是图形的二进制数据,第二个参数是图形类型,第三个参数是图形文件名,第四个参数是图形宽度,第五个参数是图形高度。
需要注意的是,在使用 Apache POI 操作 Word 文档时,需要使用 `XWPF` 相关的类,而不是 `HWPF`(操作 Word 97-2003 版本 `.doc` 文件)中的类。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)