Рубрики
Без рубрики

Извлечение текста и изображений из документа PowerPoint на Java

В этой статье показано, как извлекать текст и изображения из PowerPoint на java. С тегами java, powerpoint, image.

Когда вы найдете документ PowerPoint с красивыми иллюстрациями или фоновыми изображениями, вы можете сохранить изображения на свой компьютер; или текстовое содержимое документа – это именно то, что вы хотите использовать для ссылок на другие документы, вы можете сначала сохранить текстовое содержимое в текстовый файл. В этой статье мы расскажем, как извлекать текст и изображения из документа PowerPoint с помощью FreeSpire. Презентация для Java .

Вот экран с образцом файла PowerPoint:

Извлечение текста из всего документа

import com.spire.presentation.IAutoShape;
import com.spire.presentation.ISlide;
import com.spire.presentation.ParagraphEx;
import com.spire.presentation.Presentation;

import java.io.FileWriter;

public class ExtractText {

    public static void main(String[] args) throws Exception{

        //create a Presentation instance
        Presentation ppt = new Presentation();

        //load the PowerPoint document
        ppt.loadFromFile("C:\\Users\\Administrator\\Desktop\\ Triceratops Herds.pptx");

        //create a StringBuilder object
        StringBuilder buffer = new StringBuilder();

        //loop through the slides and extract text
        for (Object slide : ppt.getSlides()) {
            for (Object shape : ((ISlide) slide).getShapes()) {
                if (shape instanceof IAutoShape) {
                    buffer.append("\r\n");
                    for (Object tp : ((IAutoShape) shape).getTextFrame().getParagraphs()) {
                        buffer.append(((ParagraphEx) tp).getText());
                        buffer.append("\r\n");
                    }
                }
            }
        }

        //write to text file
        FileWriter writer = new FileWriter("ExtractedFiles/Text.txt");
        writer.write(buffer.toString());
        writer.flush();
        writer.close();
    }
}

Выход:

Извлечение изображений из всего документа

import com.spire.presentation.Presentation;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;

public class ExtractImages {

    public static void main(String[] args) throws Exception {

        //create a Presentation instance
        Presentation ppt = new Presentation();

        //load a PowerPoint document
        ppt.loadFromFile("C:\\Users\\Administrator\\Desktop\\ Triceratops Herds.pptx");

        //loop through the images embedded in the document
        for (int i = 0; i < ppt.getImages().getCount(); i++) {

            //save each image to a local folder
            BufferedImage image = ppt.getImages().get(i).getImage();
            ImageIO.write(image, "PNG",  new File(String.format("ExtractedFiles/" + "Image-%1$s.png", i)));
        }
    }
}

Выход:

Оригинал: “https://dev.to/eiceblue/extract-text-and-images-from-a-powerpoint-document-in-java-2cig”