Hình ảnh thường được sử dụng để thể hiện thông tin quan trọng trong tài liệu Word DOC. Việc đưa hình ảnh vào bên cạnh văn bản làm cho nội dung hấp dẫn hơn. Trong một số trường hợp nhất định, bạn có thể cần trích xuất các hình ảnh được nhúng trong tài liệu DOC theo chương trình. Để đạt được điều đó, bài viết này trình bày cách trích xuất hình ảnh từ DOC trong Java.
API Java để trích xuất hình ảnh từ tệp DOC
Aspose.Words dành cho Java là một API mạnh mẽ và giàu tính năng để tạo, thao tác và chuyển đổi các tài liệu MS Word. Do đó, chúng tôi sẽ sử dụng API này để trích xuất hình ảnh từ tài liệu DOC. Bạn có thể tải xuống JAR của API hoặc cài đặt nó vào ứng dụng Java của mình bằng cách sử dụng các cấu hình Maven sau.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.11</version>
<type>pom</type>
</dependency>
Cách trích xuất hình ảnh từ DOC trong Java
Hình ảnh trong tài liệu DOC được biểu diễn bằng các đối tượng hình dạng. Do đó, để truy xuất hình ảnh, bạn sẽ phải xử lý mọi hình dạng trong tài liệu. Sau đây là các bước để trích xuất hình ảnh từ tệp DOC trong Java.
- Đầu tiên, tải tệp DOC bằng lớp Tài liệu.
- Sau đó, lấy tất cả các hình dạng thành một NodeCollection đối tượng sử dụng phương thức Document.getChildNodes (NodeType.SHAPE, Boolean).
- Lặp qua các hình dạng đã lấy lại.
- Trong mỗi lần lặp, hãy kiểm tra xem hình dạng có hình ảnh hay không bằng cách sử dụng phương thức Shape.hasImage().
- Cuối cùng, giải nén hình ảnh và lưu nó bằng phương thức Shape.getImageData(). Save (string).
Mẫu mã sau đây cho thấy cách trích xuất hình ảnh từ tài liệu DOC trong Java.
// Tải tài liệu Word
Document doc = new Document("Document.docx");
// Nhận tất cả các hình dạng
NodeCollection<Shape> shapes = (NodeCollection<Shape>) doc.getChildNodes(NodeType.SHAPE, true);
int imageIndex = 0;
// Lặp lại bộ sưu tập hình dạng
for (Shape shape : shapes) {
// Kiểm tra xem hình dạng có hình ảnh không
if (shape.hasImage()) {
// Giải nén và lưu hình ảnh
String imageFileName = String.format(
"Image.ExportImages.{0}_out_{1}", imageIndex, FileFormatUtil.imageTypeToExtension(shape.getImageData().getImageType()));
shape.getImageData().save(dataDir + imageFileName);
imageIndex++;
}
}
Java DOC Image Extractor - Nhận Giấy phép Miễn phí
Nhận giấy phép tạm thời miễn phí để sử dụng Aspose.Words dành cho Java mà không có giới hạn đánh giá.
Sự kết luận
Trong bài này, bạn đã học cách trích xuất hình ảnh từ tài liệu DOC bằng Java. Hơn nữa, mẫu mã đã chỉ ra cách trích xuất hình ảnh từ tệp DOC và lưu chúng vào vị trí mong muốn. Bên cạnh đó, Aspose.Words for Java cung cấp một loạt các tính năng để thao tác tài liệu. Để khám phá các tính năng đó, bạn có thể truy cập tài liệu. Ngoài ra, bạn có thể đặt câu hỏi của mình qua diễn đàn của chúng tôi.
Xem thêm
- Tạo tài liệu Word từ Scratch trong Java
- Tạo tài liệu Word từ các mẫu trong Java
- Chuyển đổi tệp Word sang PDF trong Java
Thông tin: Bạn có thể quan tâm đến một API Java khác (Aspose.Slides for Java) cho phép bạn chuyển đổi bản trình bày (thành PDF, tài liệu từ, v.v.) và [nhập hình ảnh] 11 hoặc các tài liệu khác thành bản trình bày.