Конвертировать PPT и PPTX в JPG на Java

Ищете онлайн‑конвертер PPT в JPG?

Перед тем как перейти к коду Java, если вам нужен быстрый онлайн‑инструмент для конвертации PowerPoint (PPT, PPTX) в JPG без программирования, ознакомьтесь с нашим онлайн‑конвертером:
Aspose PPT to JPG Converter

Если вы разработчик, ищущий программное решение, продолжайте чтение, чтобы узнать, как конвертировать слайды PowerPoint в JPG с помощью Aspose.Slides for Java.

О конвертации PowerPoint в JPG

С помощью Aspose.Slides API вы можете преобразовать презентацию PowerPoint PPT или PPTX в изображение JPG. Также возможно конвертировать PPT/PPTX в JPEG, PNG или SVG. Благодаря этим возможностям легко реализовать собственный просмотрщик презентаций, создать эскиз для каждого слайда. Это может быть полезно, если вы хотите защитить слайды от копирования, демонстрировать презентацию в режиме только для чтения. Aspose.Slides позволяет конвертировать всю презентацию или отдельный слайд в графические форматы.

todo:image_alt_text

Конвертировать PowerPoint PPT/PPTX в JPG

Вот шаги для конвертации PPT/PPTX в JPG:

  1. Создайте экземпляр типа Presentation.
  2. Получите объект слайда типа ISlide из коллекции Presentation.getSlides().
  3. Создайте эскиз каждого слайда, а затем преобразуйте его в JPG. Метод ISlide.getImage(float scaleX, float scaleY) используется для получения эскиза слайда, он возвращает объект Images. Метод getImage должен вызываться у нужного слайда типа ISlide; масштабы результирующего эскиза передаются в метод.
  4. После получения эскиза слайда вызовите метод [IImage.save(String formatName, int imageFormat)](https://reference.aspose.com/slides/java/com.aspose.slides/IImage#save(String formatName, int imageFormat)) у объекта эскиза. Передайте в него имя полученного файла и формат изображения.
Presentation pres = new Presentation("PowerPoint-Presentation.pptx");
try {
    for (ISlide sld : pres.getSlides()) {
        // Создает изображение в полном масштабе
        IImage slideImage = sld.getImage(1f, 1f);

        // Сохраняет изображение на диск в формате JPEG
        try {
              slideImage.save(String.format("Slide_%d.jpg", sld.getSlideNumber()), ImageFormat.Jpeg);
        } finally {
             if (slideImage != null) slideImage.dispose();
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

Конвертировать PowerPoint PPT/PPTX в JPG с пользовательскими размерами

Чтобы изменить размер получаемого эскиза и JPG‑изображения, вы можете задать значения ScaleX и ScaleY, передав их в методы ISlide.getImage(float scaleX, float scaleY):

Presentation pres = new Presentation("PowerPoint-Presentation.pptx");
try {
    // Определяет размеры
    int desiredX = 1200;
    int desiredY = 800;
    // Получает масштабированные значения X и Y
    float ScaleX = (float) (1.0 / pres.getSlideSize().getSize().getWidth()) * desiredX;
    float ScaleY = (float) (1.0 / pres.getSlideSize().getSize().getHeight()) * desiredY;

    for (ISlide sld : pres.getSlides())
    {
        // Создает изображение в полном масштабе
        IImage slideImage = sld.getImage(ScaleX, ScaleY);

        // Сохраняет изображение на диск в формате JPEG
        try {
              slideImage.save(String.format("Slide_%d.jpg", sld.getSlideNumber()), ImageFormat.Jpeg);
        } finally {
             if (slideImage != null) slideImage.dispose();
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

Отображать комментарии при сохранении слайдов как изображения

Aspose.Slides for Java предоставляет возможность рендерить комментарии в слайдах презентации при их конвертации в изображения. Этот Java‑код демонстрирует операцию:

Presentation pres = new Presentation("presentation.pptx");
try {
    NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions();
    notesOptions.setNotesPosition(NotesPositions.BottomTruncated);

    IRenderingOptions opts = new RenderingOptions();
    opts.setSlidesLayoutOptions(notesOptions);

    for (ISlide sld : pres.getSlides()) {
        IImage slideImage = sld.getImage(opts, new Dimension(740, 960));
        try {
             slideImage.save(String.format("Slide_%d.png", sld.getSlideNumber()));
        } finally {
                     if (slideImage != null) slideImage.dispose();
                }
    }
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Поддерживает ли этот метод пакетную конвертацию?

Да, Aspose.Slides позволяет пакетно конвертировать несколько слайдов в JPG за одну операцию.

Поддерживает ли конвертация SmartArt, диаграммы и другие сложные объекты?

Да, Aspose.Slides рендерит все элементы, включая SmartArt, диаграммы, таблицы, формы и т.д. Однако точность рендеринга может немного отличаться от PowerPoint, особенно при использовании пользовательских или недоступных шрифтов.

Есть ли ограничения по количеству слайдов, которые можно обработать?

Сам Aspose.Slides не накладывает строгих ограничений на количество обрабатываемых слайдов. Однако при работе с большими презентациями или изображениями высокого разрешения возможно возникновение ошибки «недостаточно памяти».

См. также

Смотрите другие варианты конвертации PPT/PPTX в изображение, например: