U ovom kratkom vodiču naučit ćemo kako izdvojiti slike iz Word datoteke u Javi. Sadrži sve informacije potrebne za uspostavljanje okruženja, pojedinosti o korištenju API-ja za pisanje aplikacije i primjer koda koji se može izvoditi i koji demonstrira proces ekstrahiranja slika iz Word dokumenta u Javi. Također ćete naučiti različite opcije za prilagođavanje procesa tijekom učitavanja izvorne DOCX datoteke i izdvajanja različitih slika iz nje kao što su PNG, JPEG, itd.
Koraci za izdvajanje slika iz Worda u Javi
- Uspostavite okruženje za dodavanje Aspose.Words for Java za izdvajanje slika
- Učitajte izvornu Word datoteku sa slikama u objekt klase Document
- Dobijte kolekciju oblika pomoću metode getChildNodes() u klasi Dokument
- Iterirajte kroz sve oblike u zbirci
- Provjerite ima li oblik sliku pomoću metode hasImage() u klasi Shape
- Spremite sliku kao zasebnu datoteku na disk
Ovi koraci objašnjavaju postupak ekstrahiranja slika iz Word datoteke u Javi. Prvo se resursi dijele za uspostavljanje okruženja, nakon čega slijedi uvod u klase, metode i svojstva potrebna za izvršenje zadatka, kao što se klasa Document koristi za učitavanje izvorne Word datoteke, a metoda getChildNodes() koristi se za izdvajanje svih slike iz njega. Na kraju, svaki element zbirke testira se ima li sliku, a ako se pronađe, sprema se na disk kao zasebna slikovna datoteka.
Kod za izdvajanje slika iz Word dokumenta u Javi
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"); | |
} | |
} |
Ovaj primjer koda demonstrira proces ekstrahiranja svih slika iz Word dokumenta u Javi. Nakon učitavanja izvorne Word datoteke, koristi se metoda getChildNodes() pružanjem vrijednosti NodeType.SHAPE kao argumenta koji vraća skup svih oblika u dokumentu budući da klasa Shape ima metodu hasImage() koja provjerava postojanje slike. . Nakon što je slika otkrivena, njezino proširenje se dohvaća pomoću shape.getImageData().getImageType() i koristi se u nazivu izlazne slike zajedno s opcijom filtriranja slika na temelju njihovih vrsta.
U ovom vodiču naučili smo kako umetnuti sliku u MS Word pomoću Jave. Ako želite naučiti kako stvoriti Word dokument od nule, možete pogledati članak kako stvoriti Word dokument koristeći Javu.