Se hai un documento e desideri utilizzare le immagini all’interno di quel documento in altri documenti, ecco una delle soluzioni. In questo articolo impareremo a estrarre a livello di codice immagini da documenti PDF, Excel, PowerPoint e Word utilizzando Java.
- API Java per l’estrazione di immagini
- Estrazione immagine da documenti PDF in Java
- Estrai immagini da documenti Word, Excel, PowerPoint in Java
- Estrai l’immagine dalla pagina specifica in Java
API Java per l’estrazione di immagini
Per l’estrazione delle immagini utilizzeremo GroupDocs.Parser for Java. Questa API Java supporta l’analisi di documenti e l’estrazione di immagini, testo e metadati da documenti di elaborazione testi, fogli di calcolo, presentazioni, archivi , e e-mail di documenti. Di seguito sono riportati i formati di documento supportati dall’API Java per l’estrazione delle immagini.
Tipo di documento | Formati di file |
---|---|
Documenti di elaborazione testi | DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF |
Fogli di calcolo | XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, OTS, XLA, XLAM, NUMBERS |
Presentazioni | PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP |
Documenti portatili | |
EML, EMLX, MSG | |
Archivi | ZIP |
Prima di iniziare con gli esempi seguenti, ti consiglio di configurare l’ambiente scaricando l’ultima versione dell’API Java per l’analisi dei documenti dalla sezione download oppure puoi impostare le seguenti configurazioni nel tuo *maven-based * applicazioni Java:
<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>
Estrai immagini da documenti PDF in Java
Segui questi semplici passaggi per ottenere tutte le immagini dal documento PDF.
- Istanziare l’oggetto classe Parser.
- Chiama il metodo getImages della classe Parser per ottenere tutte le immagini.
- Esegui l’iterazione sulle immagini utilizzando PageImageArea.
- Salva le immagini usando il metodo di salvataggio di PageImageArea.
E ‘fatto. Vedi il codice completo qui sotto. Le immagini estratte possono essere salvate nei formati BMP, GIF, JPEG, PNG e WebP.
// Estrai immagini da documenti Word, Excel, PowerPoint, PDF in modo programmatico utilizzando GroupDocs.Parser for Java
try (Parser parser = new Parser("path/document.pdf")) {
// Estrai immagini
Iterable<PageImageArea> images = parser.getImages();
// Crea le opzioni per salvare le immagini in formato PNG
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// Iterare sulle immagini e salvare
for (PageImageArea image : images) {
// Stampa l'indice della pagina, il rettangolo e il tipo di file immagine:
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++;
}
}
Queste sono le immagini recuperate dal documento PDF utilizzando il codice sopra.
Estrai immagini da file Word, Excel, PowerPoint in Java
Allo stesso modo, tutte le immagini possono essere estratte da file di videoscrittura, fogli elettronici, presentazioni, con la base di codice invariata. Cosa devi cambiare? Solo il percorso del documento di origine e l’estensione del file corretta.
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
Estrazione dell’immagine dalla pagina del documento specifica in Java
Se non vuoi estrarre tutte le immagini dall’intero documento ma da qualche pagina specifica. Di seguito il codice mostra come possiamo estrarre immagini da una particolare pagina del documento in Java.
// Estrai le immagini da una pagina specifica di Word, Excel, PowerPoint, PDF in Java utilizzando GroupDocs.Parser
try (Parser parser = new Parser("path/document.pdf"")) {
// Ottieni le informazioni sul documento
IDocumentInfo documentInfo = parser.getDocumentInfo();
// Crea le opzioni per salvare le immagini in formato PNG
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// Iterare sulle pagine
for (int pageIndex = 0; pageIndex < documentInfo.getPageCount(); pageIndex++) {
// Stampa numeri di pagina
System.out.println(String.format("Page %d/%d", pageIndex + 1, documentInfo.getPageCount()));
// Iterare sulle immagini - Ignorando il controllo NULL negli esempi
for (PageImageArea image : parser.getImages(pageIndex)) {
// Stampa informazioni sull'immagine e salva file
System.out.println(String.format("R: %s, Text: %s", image.getRectangle(), image.getFileType()));
image.save(String.format("filesPath/image_%d.jpeg", imageNumber), options);
imageNumber++;
}
}
}
Conclusione
Oggi abbiamo imparato come estrarre immagini dall’intero documento e dalla pagina specifica di documenti di elaborazione testi, fogli di calcolo, presentazioni e PDF in Java. Non c’è differenza nel codice se dobbiamo estrarre immagini dai file di diversi formati di file. Dobbiamo solo passare il percorso e il nome giusti. Questo è tutto.