Управление шрифтами в презентациях с помощью JavaScript

Управление свойствами шрифтов

Чтобы управлять свойствами шрифта абзаца с помощью Aspose.Slides for Node.js via Java:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на слайд, указав его индекс.
  3. Доступ к объектам Placeholder на слайде и приведение их к типу AutoShape.
  4. Получите Paragraph из TextFrame, предоставляемого AutoShape.
  5. Выравнивайте абзац по ширине.
  6. Доступ к Portion текста абзаца.
  7. Определите шрифт с помощью FontData и установите Font для объекта Portion.
    1. Установите полужирное начертание.
    2. Установите курсив.
  8. Установите цвет шрифта через FillFormat, предоставляемый объектом Portion.
  9. Сохраните изменённую презентацию в файл PPTX.

Реализация перечисленных шагов приведена ниже. Пример берёт простую презентацию и применяет форматирование шрифтов к одному из слайдов. Скриншоты ниже показывают исходный файл и результат изменения кода. Код меняет шрифт, цвет и стиль шрифта.

todo:image_alt_text
Рисунок: Текст во входном файле
todo:image_alt_text
Рисунок: Тот же текст с обновлённым форматированием
    // Создать объект Presentation, представляющий файл PPTX
    var pres = new aspose.slides.Presentation("FontProperties.pptx");
    try {
        // Получение слайда по его позиции
        var slide = pres.getSlides().get_Item(0);
        // Получение первого и второго заполнителя (placeholder) на слайде и приведение их к типу AutoShape
        var tf1 = slide.getShapes().get_Item(0).getTextFrame();
        var tf2 = slide.getShapes().get_Item(1).getTextFrame();
        // Получение первого абзаца
        var para1 = tf1.getParagraphs().get_Item(0);
        var para2 = tf2.getParagraphs().get_Item(0);
        // Выравнивание абзаца по ширине
        para2.getParagraphFormat().setAlignment(aspose.slides.TextAlignment.JustifyLow);
        // Получение первой части (portion)
        var port1 = para1.getPortions().get_Item(0);
        var port2 = para2.getPortions().get_Item(0);
        // Определение новых шрифтов
        var fd1 = new aspose.slides.FontData("Elephant");
        var fd2 = new aspose.slides.FontData("Castellar");
        // Назначение новых шрифтов части
        port1.getPortionFormat().setLatinFont(fd1);
        port2.getPortionFormat().setLatinFont(fd2);
        // Установить полужирное начертание
        port1.getPortionFormat().setFontBold(aspose.slides.NullableBool.True);
        port2.getPortionFormat().setFontBold(aspose.slides.NullableBool.True);
        // Установить курсив
        port1.getPortionFormat().setFontItalic(aspose.slides.NullableBool.True);
        port2.getPortionFormat().setFontItalic(aspose.slides.NullableBool.True);
        // Установить цвет шрифта
        port1.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
        port1.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLUE"));
        port2.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
        port2.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "GREEN"));
        // Сохранить PPTX на диск
        pres.save("WelcomeFont.pptx", aspose.slides.SaveFormat.Pptx);
    } finally {
        if (pres != null) {
            pres.dispose();
        }
    }

Установка свойств шрифта текста

Чтобы создать текстовое поле и задать свойства шрифта текста в нём:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на слайд, указав его индекс.
  3. Добавьте на слайд AutoShape типа Rectangle.
  4. Удалите стиль заливки, связанный с AutoShape.
  5. Доступ к TextFrame объекта AutoShape.
  6. Добавьте некоторый текст в TextFrame.
  7. Доступ к объекту Portion, связанному с TextFrame.
  8. Определите шрифт, который будет использоваться для Portion.
  9. Установите остальные свойства шрифта, такие как полужирный, курсив, подчёркивание, цвет и высоту, используя соответствующие свойства, предоставляемые объектом Portion.
  10. Запишите изменённую презентацию в файл PPTX.

Реализация перечисленных шагов указана ниже.

todo:image_alt_text
Рисунок: Текст с некоторыми установленными свойствами шрифта, созданный Aspose.Slides for Node.js via Java
// Создать объект Presentation, представляющий файл PPTX
var pres = new aspose.slides.Presentation();
try {
    // Получить первый слайд
    var sld = pres.getSlides().get_Item(0);
    // Добавить AutoShape типа Rectangle
    var ashp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 50, 50, 200, 50);
    // Удалить любой стиль заливки, связанный с AutoShape
    ashp.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
    // Получить TextFrame, связанный с AutoShape
    var tf = ashp.getTextFrame();
    tf.setText("Aspose TextBox");
    // Получить Portion, связанный с TextFrame
    var port = tf.getParagraphs().get_Item(0).getPortions().get_Item(0);
    // Установить шрифт для Portion
    port.getPortionFormat().setLatinFont(new aspose.slides.FontData("Times New Roman"));
    // Установить свойство Bold шрифта
    port.getPortionFormat().setFontBold(aspose.slides.NullableBool.True);
    // Установить свойство Italic шрифта
    port.getPortionFormat().setFontItalic(aspose.slides.NullableBool.True);
    // Установить свойство Underline шрифта
    port.getPortionFormat().setFontUnderline(aspose.slides.TextUnderlineType.Single);
    // Установить высоту шрифта
    port.getPortionFormat().setFontHeight(25);
    // Установить цвет шрифта
    port.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
    port.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLUE"));
    // Сохранить презентацию на диск
    pres.save("pptxFont.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}