Jak wyodrębnić obrazy z pliku Word w Javie

W tym krótkim samouczku nauczymy się jak wyodrębniać obrazy z pliku Word w Javie. Zawiera wszystkie informacje wymagane do ustanowienia środowiska, szczegóły użycia interfejsu API do pisania aplikacji oraz przykładowy kod do wykonania, który demonstruje proces wyodrębniania obrazów z dokumentu programu Word w Javie. Poznasz również różne opcje dostosowywania procesu podczas ładowania źródłowego pliku DOCX i wyodrębniania z niego różnych obrazów, takich jak PNG, JPEG itp.

Kroki, aby wyodrębnić obrazy z programu Word w Javie

  1. Stwórz środowisko, aby dodać Aspose.Words for Java do wyodrębniania obrazów
  2. Załaduj źródłowy plik programu Word z obrazami do obiektu klasy Document
  3. Pobierz kolekcję kształtów za pomocą metody getChildNodes() w klasie Document
  4. Iteruj przez wszystkie kształty w kolekcji
  5. Sprawdź, czy kształt ma obraz, używając metody hasImage() w klasie Shape
  6. Zapisz obraz jako osobny plik na dysku

Te kroki wyjaśniają proces wyodrębniania obrazów z pliku programu Word w Javie. Najpierw zasoby są udostępniane na potrzeby tworzenia środowiska, a następnie wprowadzane są klasy, metody i właściwości wymagane do wykonania zadania, na przykład klasa Document służy do ładowania źródłowego pliku programu Word, a metoda getChildNodes() służy do wyodrębniania wszystkich obrazy z niego. Na koniec każdy element kolekcji jest testowany pod kątem posiadania obrazu, a jeśli zostanie znaleziony, zapisywany na dysku jako osobny plik obrazu.

Kod do wyodrębniania obrazów z dokumentu programu Word w Javie

import com.aspose.words.Document;
import com.aspose.words.NodeCollection;
import com.aspose.words.NodeType;
import com.aspose.words.Shape;
import com.aspose.words.FileFormatUtil;
public class AsposeTest {
public static void main(String[] args) throws Exception {//Main function to extract images from a Word file
// Instantiate the license
com.aspose.words.License licPage = new com.aspose.words.License();
licPage.setLicense("Aspose.Total.lic");
//
Document imagesWordFile = new Document("WordFileWithImages.docx");
NodeCollection<Shape> docShapes = (NodeCollection<Shape>) imagesWordFile.getChildNodes(NodeType.SHAPE, true);
int indexForImages = 0;
for (Shape shape : docShapes
) {
if (shape.hasImage()) {
String outputImage = String.format("Image" + indexForImages + FileFormatUtil.imageTypeToExtension(shape.getImageData().getImageType()));
shape.getImageData().save(outputImage);
indexForImages++;
}
}
System.out.println("Done");
}
}

Ten przykładowy kod demonstruje proces wyodrębniania wszystkich obrazów z dokumentu programu Word w Javie. Po załadowaniu źródłowego pliku Word używana jest metoda getChildNodes() poprzez podanie wartości NodeType.SHAPE jako argumentu zwracającego zestaw wszystkich kształtów w dokumencie, ponieważ klasa Shape posiada metodę hasImage() weryfikującą istnienie obrazu . Po wykryciu obrazu jego rozszerzenie jest pobierane za pomocą metody shape.getImageData().getImageType() i używane w nazwie obrazu wyjściowego wraz z opcją filtrowania obrazów na podstawie ich typów.

W tym samouczku nauczyliśmy się, jak wstawić obraz w MS Word przy użyciu Javy. Jeśli chcesz dowiedzieć się, jak utworzyć dokument programu Word od podstaw, zapoznaj się z artykułem jak stworzyć dokument Word za pomocą Java.

 Polski