Просмотрщик презентаций

Живой пример

Вы можете попробовать бесплатное приложение Aspose.Slides Viewer, чтобы увидеть, что вы можете реализовать с помощью API Aspose.Slides:

todo:image_alt_text

Генерация SVG-изображения из слайда

Чтобы сгенерировать SVG-изображение из любого желаемого слайда с помощью Aspose.Slides для Java, выполните следующие шаги:

  • Создайте экземпляр класса Presentation.
  • Получите ссылку на желаемый слайд, используя его ID или индекс.
  • Получите SVG-изображение в потоке памяти.
  • Сохраните поток памяти в файл.
// Создайте экземпляр класса Presentation, представляющий файл презентации
Presentation pres = new Presentation("CreateSlidesSVGImage.pptx");
try {
    // Получите доступ к первому слайду
    ISlide sld = pres.getSlides().get_Item(0);

    // Создайте объект потока памяти
    FileOutputStream svgStream = new FileOutputStream("Aspose_out.svg");

    // Сгенерируйте SVG-изображение слайда и сохраните его в поток памяти
    sld.writeAsSvg(svgStream);

    svgStream.close();
} catch (IOException e) {
} finally {
    pres.dispose();
}

Генерация SVG с пользовательскими ID форм

Aspose.Slides для Java можно использовать для генерации SVG из слайда с пользовательским ID формы. Для этого используйте свойство ID из ISvgShape, которое представляет собой пользовательский ID форм в сгенерированном SVG. CustomSvgShapeFormattingController можно использовать для установки ID формы.

Presentation pres = new Presentation("pptxFileName.pptx");
try {
    FileOutputStream stream = new FileOutputStream("Aspose_out.svg");
    try {
        SVGOptions svgOptions = new SVGOptions();
        svgOptions.setShapeFormattingController(new CustomSvgShapeFormattingController());

        pres.getSlides().get_Item(0).writeAsSvg(stream, svgOptions);
    } finally {
        if (stream != null) stream.close();
    }
} catch (IOException e) {
} finally {
    pres.dispose();
}
class CustomSvgShapeFormattingController implements ISvgShapeFormattingController
{
    private int m_shapeIndex;

    public CustomSvgShapeFormattingController()
    {
        m_shapeIndex = 0;
    }
    
    public CustomSvgShapeFormattingController(int shapeStartIndex)
    {
        m_shapeIndex = shapeStartIndex;
    }

    public void formatShape(ISvgShape svgShape, IShape shape)
    {
        svgShape.setId(String.format("shape-%d", m_shapeIndex++));
    }
}

Создание миниатюры слайда

Aspose.Slides для Java помогает вам генерировать миниатюры изображений слайдов. Чтобы сгенерировать миниатюру любого желаемого слайда с помощью Aspose.Slides для Java:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на любой желаемый слайд, используя его ID или индекс.
  3. Получите миниатюру изображения ссылочного слайда в заданном масштабе.
  4. Сохраните миниатюру изображения в любом желаемом формате изображения.
// Создайте экземпляр класса Presentation, представляющий файл презентации
Presentation pres = new Presentation("ThumbnailFromSlide.pptx");
try {
    // Получите доступ к первому слайду
    ISlide sld = pres.getSlides().get_Item(0);

    // Создайте изображение в полную шкалу
    IImage slideImage = sld.getImage(1f, 1f);

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

Создание миниатюры с заданными пользователем размерами

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на любой желаемый слайд, используя его ID или индекс.
  3. Получите миниатюру изображения ссылочного слайда в заданном масштабе.
  4. Сохраните миниатюру изображения в любом желаемом формате изображения.
// Создайте экземпляр класса Presentation, представляющий файл презентации
Presentation pres = new Presentation("ThumbnailWithUserDefinedDimensions.pptx");
try {
    // Получите доступ к первому слайду
    ISlide sld = pres.getSlides().get_Item(0);

    // Пользовательский размер
    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;
    
    // Создайте изображение в полную шкалу
    IImage slideImage = sld.getImage(ScaleX, ScaleY);

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

Создание миниатюры слайда в режиме заметок

Чтобы сгенерировать миниатюру любого желаемого слайда в режиме заметок с помощью Aspose.Slides для Java:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на любой желаемый слайд, используя его ID или индекс.
  3. Получите миниатюру изображения ссылочного слайда в заданном масштабе в режиме заметок.
  4. Сохраните миниатюру изображения в любом желаемом формате изображения.

Приведенный ниже фрагмент кода генерирует миниатюру первого слайда презентации в режиме заметок.

// Создайте экземпляр класса Presentation, представляющий файл презентации
Presentation pres = new Presentation("ThumbnailWithUserDefinedDimensions.pptx");
try {
    // Получите доступ к первому слайду
    ISlide sld = pres.getSlides().get_Item(0);

    // Пользовательский размер
    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;

    RenderingOptions opts = new RenderingOptions();
    opts.getNotesCommentsLayouting().setNotesPosition(NotesPositions.BottomTruncated);
    
    // Создайте изображение в полную шкалу
    IImage slideImage = sld.getImage(opts, ScaleX, ScaleY);

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