В този бърз урок ще научим как да извличаме изображения от Word файл в Java. Той съдържа цялата информация, необходима за установяване на средата, подробности за използването на API за писане на приложението и изпълняваем примерен код, който демонстрира процеса за извличане на картини от документ на Word в Java. Освен това ще научите различни опции за персонализиране на процеса, докато зареждате изходния файл DOCX и извличате различни изображения от него като PNG, JPEG и др.
Стъпки за извличане на изображения от Word в Java
- Създайте среда за добавяне на Aspose.Words for Java за извличане на изображения
- Заредете изходния Word файл с изображения в обекта на клас Document
- Вземете колекцията от форми, като използвате метода getChildNodes() в класа Document
- Преминете през всички форми в колекцията
- Проверете дали формата има изображение, като използвате метода hasImage() в класа Shape
- Запазете изображението като отделен файл на диска
Тези стъпки обясняват процеса за извличане на изображения от Word файл в Java. Първо, ресурсите се споделят за установяване на средата, последвано от въведение в класовете, методите и свойствата, необходими за изпълнение на задачата, като класът Document се използва за зареждане на изходния Word файл, а методът getChildNodes() се използва за извличане на всички изображенията от него. И накрая, всеки елемент от колекцията се тества за наличие на изображение и, ако бъде намерено, се записва на диска като отделен файл с изображение.
Код за извличане на изображения от Word документ в Java
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"); | |
} | |
} |
Този примерен код демонстрира процеса за извличане на всички изображения от документ на Word в Java. След зареждане на изходния файл на Word, методът getChildNodes() се използва чрез предоставяне на NodeType.SHAPE стойност като аргумент, който връща набора от всички фигури в документа, тъй като класът Shape има метод hasImage(), който проверява съществуването на изображението . След като изображението бъде открито, разширението му се извлича с помощта на shape.getImageData().getImageType() и се използва в името на изходното изображение заедно с опцията за филтриране на изображенията въз основа на техните типове.
В този урок научихме как да вмъкваме картина в MS Word с помощта на Java. Ако искате да научите как да създадете документ на Word от нулата, можете да се обърнете към статията как да създадете Word документ с помощта на Java.