Pokud máte dokument a chcete obrázky uvnitř tohoto dokumentu použít v některých dalších dokumentech, zde je jedno z řešení. V tomto článku se naučíme programově extrahovat obrázky z dokumentů PDF, Excel, PowerPoint a Word pomocí Javy.
- Java API pro extrakci obrázků
- Extrakce obrázků z PDF dokumentů v Java
- Extrahujte obrázky z dokumentů Word, Excel, PowerPoint v Java
- Extrahujte obrázek z konkrétní stránky v Java
 
 
Extrakce obrazu Java API
 
 
Pro extrakci obrázků použijeme GroupDocs.Parser for Java. Toto Java API podporuje analýzu dokumentů a extrakci obrázků, textu a metadat z textových dokumentů, tabulek, prezentací, archivů a e-mailových dokumentů. Níže jsou uvedeny formáty dokumentů podporované rozhraním Java API pro extrakci obrázků.
| Typ dokumentu | Formáty souborů | 
|---|---|
| Dokumenty pro zpracování textu | DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF | 
| Tabulky | XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, OTS, XLA, XLAM, ČÍSLA | 
| Prezentace | PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP | 
| Přenosné dokumenty | |
| E-maily | EML, EMLX, MSG | 
| Archiv | PSČ | 
Než začnete s příklady níže, doporučil bych nastavit prostředí stažením nejnovější verze Java API pro analýzu dokumentů z části ke stažení nebo můžete nastavit následující konfigurace ve svých Java aplikacích založených na maven:
<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-parser</artifactId>
	<version>20.8</version> 
</dependency>
Extrahujte obrázky z dokumentů PDF v Java
 
 
Chcete-li získat všechny obrázky z dokumentu PDF, postupujte podle těchto jednoduchých kroků.
- Vytvořit instanci objektu třídy Parser.
- Voláním metody getImages třídy Parser získáte všechny obrázky.
- Iterujte obrázky pomocí PageImageArea.
- Uložte obrázky pomocí metody ukládání PageImageArea.
Je to hotovo. Viz celý kód níže. Extrahované obrázky lze uložit ve formátech BMP, GIF, JPEG, PNG a WebP.
// Extrahujte obrázky z dokumentů Word, Excel, PowerPoint, PDF Programově pomocí GroupDocs.Parser for Java
try (Parser parser = new Parser("path/document.pdf")) {
	// Extrahujte obrázky
	Iterable<PageImageArea> images = parser.getImages();
	// Vytvořte možnosti pro ukládání obrázků ve formátu PNG
	ImageOptions options = new ImageOptions(ImageFormat.Png);
	int imageNumber = 0;
	// Opakujte obrázky a uložte
	for (PageImageArea image : images) {
		// Vytiskněte index stránky, obdélník a typ souboru obrázku:
		System.out.println(String.format("Page: %d, R: %s, Type: %s", image.getPage().getIndex(), 
				image.getRectangle(), image.getFileType()));
		image.save(String.format("filesPath/image_%d.png", imageNumber), options);
		imageNumber++;
	}
}
Toto jsou obrázky získané z dokumentu PDF pomocí výše uvedeného kódu.
 
 
Extrahujte obrázky ze souborů Word, Excel, PowerPoint v Java
Podobně lze všechny obrázky vyjmout z textových souborů, tabulek, prezentací s nezměněnou základnou kódu. Co musíte změnit? Stačí cesta ke zdrojovému dokumentu a správná přípona souboru.
Parser parser = new Parser("path/document.docx") // Word Document
// Parser parser = new Parser("path/document.xlsx") // Excel Spreadsheet
// Parser parser = new Parser("path/document.pptx") // PowerPoint Presentation
// Parser parser = new Parser("path/document.pdf") // PDF Document
Extrakce obrázku ze stránky konkrétního dokumentu v Java
Pokud nechcete extrahovat všechny obrázky z celého dokumentu, ale z nějaké konkrétní stránky. Níže uvedený kód ukazuje, jak můžeme extrahovat obrázky z konkrétní stránky dokumentu v Java.
// Extrahujte obrázky z konkrétní stránky aplikací Word, Excel, PowerPoint, PDF v Java pomocí GroupDocs.Parser
try (Parser parser = new Parser("path/document.pdf"")) {
	// Získejte informace o dokumentu
	IDocumentInfo documentInfo = parser.getDocumentInfo();
	// Vytvořte možnosti pro ukládání obrázků ve formátu PNG
	ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
	int imageNumber = 0;
	// Iterujte stránky
	for (int pageIndex = 0; pageIndex < documentInfo.getPageCount(); pageIndex++) {
		// Tisk čísel stránek
		System.out.println(String.format("Page %d/%d", pageIndex + 1, documentInfo.getPageCount()));
		// Iterace přes obrázky - Ignorování NULL-Checking v příkladech
		for (PageImageArea image : parser.getImages(pageIndex)) {
			// Vytisknout informace o obrázku a uložit soubor
			System.out.println(String.format("R: %s, Text: %s", image.getRectangle(), image.getFileType()));
			image.save(String.format("filesPath/image_%d.jpeg", imageNumber), options);
			imageNumber++;
		}
	}
}
Závěr
Dnes jsme se naučili, jak extrahovat obrázky z celého dokumentu a konkrétní stránky textových dokumentů, tabulek, prezentací a PDF v Java. Pokud musíme extrahovat obrázky ze souborů různých formátů, v kódu není žádný rozdíl. Musíme jen projít správnou cestou a jménem. A je to.