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
- Stwórz środowisko, aby dodać Aspose.Words for Java do wyodrębniania obrazów
- Załaduj źródłowy plik programu Word z obrazami do obiektu klasy Document
- Pobierz kolekcję kształtów za pomocą metody getChildNodes() w klasie Document
- Iteruj przez wszystkie kształty w kolekcji
- Sprawdź, czy kształt ma obraz, używając metody hasImage() w klasie Shape
- 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.