Управление маркированными и нумерованными списками в презентациях на Android

В Microsoft PowerPoint вы можете создавать маркированные и нумерованные списки так же, как в Word и других текстовых редакторах. Aspose.Slides for Android via Java также позволяет использовать маркеры и номера в слайдах ваших презентаций.

Зачем использовать маркированные списки?

Маркированные списки помогают быстро и эффективно организовывать и представлять информацию.

Пример маркированного списка

В большинстве случаев маркированный список выполняет три основные функции:

  • привлекает внимание читателей или зрителей к важной информации
  • позволяет читателям или зрителям легко просканировать ключевые моменты
  • сообщает и передает важные детали эффективно.

Зачем использовать нумерованные списки?

Нумерованные списки также помогают в организации и представлении информации. Лучше использовать номера (вместо маркеров), когда важен порядок элементов (например, шаг 1, шаг 2 и т.д.) или когда необходимо ссылаться на элемент (например, см. шаг 3).

Пример нумерованного списка

Это сводка шагов (шаг 1 до шага 15) в процедуре Создание маркеров ниже:

  1. Создайте экземпляр класса презентации.
  2. Выполните несколько задач (шаг 3 до шага 14).
  3. Сохраните презентацию.

Создать маркеры

Эта тема также является частью серии тем по управлению текстовыми абзацами. На этой странице будет показано, как управлять маркерами абзацев. Маркеры более полезны, когда нужно описать что‑то пошагово. Кроме того, текст выглядит более упорядоченным при использовании маркеров. Абзацы с маркерами всегда легче читать и понимать. Мы покажем, как разработчики могут использовать эту небольшую, но мощную возможность Aspose.Slides for Android via Java. Пожалуйста, выполните следующие шаги для управления маркерами абзацев с помощью Aspose.Slides for Android via Java:

  1. Создайте экземпляр класса Presentation.
  2. Получите доступ к нужному слайду в коллекции слайдов, используя объект ISlide.
  3. Добавьте AutoShape в выбранный слайд.
  4. Получите доступ к TextFrame добавленной фигуры.
  5. Удалите абзац по умолчанию в TextFrame.
  6. Создайте экземпляр первого абзаца, используя класс Paragraph.
  7. Установите тип маркера для абзаца.
  8. Установите тип маркера в Symbol и задайте символ маркера.
  9. Задайте текст абзаца.
  10. Установите отступ абзаца, чтобы задать маркер.
  11. Задайте цвет маркера.
  12. Задайте высоту маркеров.
  13. Добавьте созданный абзац в коллекцию абзацев TextFrame.
  14. Добавьте второй абзац и повторите процесс, указанный в шагах 7‑13.
  15. Сохраните презентацию.
// Создать экземпляр класса Presentation, представляющего файл PPTX
Presentation pres = new Presentation();
try {
    // Получение первого слайда
    ISlide slide = pres.getSlides().get_Item(0);
    
    // Добавление и доступ к AutoShape
    IAutoShape aShp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
    
    // Получение текстового фрейма созданной AutoShape
    ITextFrame txtFrm = aShp.getTextFrame();
    
    // Удаление существующего абзаца по умолчанию
    txtFrm.getParagraphs().removeAt(0);
    
    // Создание абзаца
    Paragraph para = new Paragraph();
    
    // Установка стиля маркера абзаца и символа
    para.getParagraphFormat().getBullet().setType(BulletType.Symbol);
    para.getParagraphFormat().getBullet().setChar((char) 8226);
    
    // Установка текста абзаца
    para.setText("Welcome to Aspose.Slides");
    
    // Установка отступа маркера
    para.getParagraphFormat().setIndent(25);
    
    // Установка цвета маркера
    para.getParagraphFormat().getBullet().getColor().setColorType(ColorType.RGB);
    para.getParagraphFormat().getBullet().getColor().setColor(Color.BLACK);
    
    // Установить IsBulletHardColor в true, чтобы использовать собственный цвет маркера
    para.getParagraphFormat().getBullet().isBulletHardColor();
    
    // Установка высоты маркера
    para.getParagraphFormat().getBullet().setHeight(100);
    
    // Добавление абзаца в текстовый фрейм
    txtFrm.getParagraphs().add(para);
    
    // Сохранение презентации в файл PPTX
    pres.save("Bullet.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

Создать маркеры‑картинки

Aspose.Slides for Android via Java позволяет менять маркеры в маркированных списках. Вы можете заменять маркеры на пользовательские символы или изображения. Если вы хотите добавить визуальный интерес к списку или привлечь еще больше внимания к пунктам списка, вы можете использовать собственное изображение в качестве маркера.

Для создания маркера‑картинки выполните следующие шаги:

  1. Создайте экземпляр класса Presentation.
  2. Получите доступ к нужному слайду в коллекции слайдов, используя объект ISlide.
  3. Добавьте автофигуру в выбранный слайд.
  4. Получите доступ к TextFrame добавленной фигуры.
  5. Удалите абзац по умолчанию в TextFrame.
  6. Создайте экземпляр первого абзаца, используя класс Paragraph.
  7. Загрузите изображение с диска в IPPImage.
  8. Установите тип маркера в Picture и задайте изображение.
  9. Задайте текст абзаца.
  10. Установите отступ абзаца, чтобы задать маркер.
  11. Задайте цвет маркера.
  12. Задайте высоту маркеров.
  13. Добавьте созданный абзац в коллекцию абзацев TextFrame.
  14. Добавьте второй абзац и повторите процесс, описанный в предыдущих шагах.
  15. Сохраните презентацию.
Presentation pres = new Presentation();
try {
    // Доступ к первому слайду
    ISlide slide = pres.getSlides().get_Item(0);

    // Создать изображение для маркеров
    IPPImage picture;
    IImage image = Images.fromFile("asp1.jpg");
    try {
        picture = pres.getImages().addImage(image);
    } finally {
        if (image != null) image.dispose();
    }

    // Добавление и доступ к AutoShape
    IAutoShape aShp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);

    // Доступ к текстовому фрейму созданной AutoShape
    ITextFrame txtFrm = aShp.getTextFrame();
    // Удаление существующего абзаца по умолчанию
    txtFrm.getParagraphs().removeAt(0);

    // Создание нового абзаца
    Paragraph para = new Paragraph();
    para.setText("Welcome to Aspose.Slides");

    // Установка стиля маркера абзаца и изображения
    para.getParagraphFormat().getBullet().setType(BulletType.Picture);
    para.getParagraphFormat().getBullet().getPicture().setImage(picture);

    // Установка высоты маркера
    para.getParagraphFormat().getBullet().setHeight(100);

    // Добавление абзаца в текстовый фрейм
    txtFrm.getParagraphs().add(para);

    // Запись презентации в файл PPTX
    pres.save("Bullet.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

Создать многоуровневые маркеры

Для создания маркированного списка, содержащего элементы разных уровней (дополнительные списки под основным), выполните следующие шаги:

  1. Создайте экземпляр класса Presentation.
  2. Получите доступ к нужному слайду в коллекции слайдов, используя объект ISlide.
  3. Добавьте автофигуру в выбранный слайд.
  4. Получите доступ к TextFrame добавленной фигуры.
  5. Удалите абзац по умолчанию в TextFrame.
  6. Создайте первый абзац, используя класс Paragraph, с глубиной 0.
  7. Создайте второй абзац, используя класс Paragraph, с глубиной 1.
  8. Создайте третий абзац, используя класс Paragraph, с глубиной 2.
  9. Создайте четвертый абзац, используя класс Paragraph, с глубиной 3.
  10. Добавьте созданные абзацы в коллекцию абзацев TextFrame.
  11. Сохраните презентацию.
// Создать экземпляр класса Presentation, представляющего файл PPTX
Presentation pres = new Presentation();
try {
    // Доступ к первому слайду
    ISlide slide = pres.getSlides().get_Item(0);
    
    // Добавление и доступ к AutoShape
    IAutoShape aShp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
    
    // Доступ к текстовому фрейму созданной AutoShape
    ITextFrame txtFrm = aShp.addTextFrame("");
    
    // Удаление существующего абзаца по умолчанию
    txtFrm.getParagraphs().clear();
    
    // Создание первого абзаца
    Paragraph para1 = new Paragraph();
    // Установка стиля маркера абзаца и символа
    para1.setText("Content");
    para1.getParagraphFormat().getBullet().setType(BulletType.Symbol);
    para1.getParagraphFormat().getBullet().setChar((char) 8226);
    para1.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType ((byte)FillType.Solid);
    para1.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
    //Установка уровня маркера
    para1.getParagraphFormat().setDepth ((short)0);
    
    // Создание второго абзаца
    Paragraph para2 = new Paragraph();
    // Установка стиля маркера абзаца и символа
    para2.setText("Second level");
    para2.getParagraphFormat().getBullet().setType(BulletType.Symbol);
    para2.getParagraphFormat().getBullet().setChar('-');
    para2.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType ((byte)FillType.Solid);
    para2.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
    //Установка уровня маркера
    para2.getParagraphFormat().setDepth ((short)1);
    
    // Создание третьего абзаца
    Paragraph para3 = new Paragraph();
    // Установка стиля маркера абзаца и символа
    para3.setText("Third level");
    para3.getParagraphFormat().getBullet().setType(BulletType.Symbol);
    para3.getParagraphFormat().getBullet().setChar((char) 8226);
    para3.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType ((byte)FillType.Solid);
    para3.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
    //Установка уровня маркера
    para3.getParagraphFormat().setDepth ((short)2);
    
    // Создание четвертого абзаца
    Paragraph para4 = new Paragraph();
    // Установка стиля маркера абзаца и символа
    para4.setText("Fourth Level");
    para4.getParagraphFormat().getBullet().setType(BulletType.Symbol);
    para4.getParagraphFormat().getBullet().setChar('-');
    para4.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType ((byte)FillType.Solid);
    para4.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
    //Установка уровня маркера
    para4.getParagraphFormat().setDepth ((short)3);
    
    // Добавление абзаца в текстовый фрейм
    txtFrm.getParagraphs().add(para1);
    txtFrm.getParagraphs().add(para2);
    txtFrm.getParagraphs().add(para3);
    txtFrm.getParagraphs().add(para4);
    
    // Сохранение презентации в файл PPTX
    pres.save("MultilevelBullet.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

Aspose.Slides for Android via Java предоставляет простой API для управления абзацами с пользовательским форматированием номеров. Для добавления пользовательского нумерованного списка в абзац выполните следующие шаги:

  1. Создайте экземпляр класса Presentation.
  2. Получите доступ к нужному слайду в коллекции слайдов, используя объект ISlide.
  3. Добавьте автофигуру в выбранный слайд.
  4. Получите доступ к TextFrame добавленной фигуры.
  5. Удалите абзац по умолчанию в TextFrame.
  6. Создайте первый абзац, используя класс Paragraph, и задайте NumberedBulletStartWith равным 2.
  7. Создайте второй абзац, используя класс Paragraph, и задайте NumberedBulletStartWith равным 3.
  8. Создайте третий абзац, используя класс Paragraph, и задайте NumberedBulletStartWith равным 7.
  9. Добавьте созданные абзацы в коллекцию абзацев TextFrame.
  10. Сохраните презентацию.
// Создать экземпляр класса Presentation, который представляет файл PPTX
Presentation pres = new Presentation();
try {
    // Доступ к первому слайду
    ISlide slide = pres.getSlides().get_Item(0);

    // Добавление и доступ к AutoShape
    IAutoShape aShp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);

    // Доступ к текстовому фрейму созданной AutoShape
    ITextFrame txtFrm = aShp.addTextFrame("");

    // Удаление существующего абзаца по умолчанию
    txtFrm.getParagraphs().clear();

    // Первый список
    Paragraph paragraph1 = new Paragraph();
    paragraph1.setText("bullet 2");
    paragraph1.getParagraphFormat().setDepth((short)4);
    paragraph1.getParagraphFormat().getBullet().setNumberedBulletStartWith((short)2);
    paragraph1.getParagraphFormat().getBullet().setType(BulletType.Numbered);
    txtFrm.getParagraphs().add(paragraph1);

    Paragraph paragraph2 = new Paragraph();
    paragraph2.setText("bullet 3");
    paragraph2.getParagraphFormat().setDepth((short)4);
    paragraph2.getParagraphFormat().getBullet().setNumberedBulletStartWith((short)3);
    paragraph2.getParagraphFormat().getBullet().setType(BulletType.Numbered);
    txtFrm.getParagraphs().add(paragraph2);

    // Второй список
    Paragraph paragraph5 = new Paragraph();
    paragraph5.setText("bullet 5");
    paragraph5.getParagraphFormat().setDepth((short)4);
    paragraph5.getParagraphFormat().getBullet().setNumberedBulletStartWith((short)5);
    paragraph5.getParagraphFormat().getBullet().setType(BulletType.Numbered);
    txtFrm.getParagraphs().add(paragraph5);

    pres.save(resourcesOutputPath + "SetCustomBulletsNumber-slides.pptx.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Можно ли экспортировать маркированные и нумерованные списки, созданные с помощью Aspose.Slides, в другие форматы, такие как PDF или изображения?

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

Можно ли импортировать маркированные или нумерованные списки из существующих презентаций?

Да, Aspose.Slides позволяет импортировать и редактировать маркированные или нумерованные списки из существующих презентаций, сохраняя их оригинальное форматирование и внешний вид.

Поддерживает ли Aspose.Slides маркированные и нумерованные списки в презентациях, созданных на разных языках?

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