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.