Управление шрифтами в презентациях с помощью JavaScript
Contents
[
Hide
]
Управление свойствами шрифтов
Презентации обычно содержат как текст, так и изображения. Текст можно оформлять разными способами: выделять отдельные разделы и слова или приводить его к корпоративным стилям. Форматирование текста помогает пользователям разнообразить внешний вид содержимого презентации. В этой статье показано, как с помощью Aspose.Slides for Node.js via Java настроить свойства шрифта абзацев текста на слайдах.
Чтобы управлять свойствами шрифта абзаца с помощью Aspose.Slides for Node.js via Java:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, указав его индекс.
- Доступ к объектам Placeholder на слайде и приведение их к типу AutoShape.
- Получите Paragraph из TextFrame, предоставляемого AutoShape.
- Выравнивайте абзац по ширине.
- Доступ к Portion текста абзаца.
- Определите шрифт с помощью FontData и установите Font для объекта Portion.
- Установите полужирное начертание.
- Установите курсив.
- Установите цвет шрифта через FillFormat, предоставляемый объектом Portion.
- Сохраните изменённую презентацию в файл PPTX.
Реализация перечисленных шагов приведена ниже. Пример берёт простую презентацию и применяет форматирование шрифтов к одному из слайдов. Скриншоты ниже показывают исходный файл и результат изменения кода. Код меняет шрифт, цвет и стиль шрифта.
![]() |
|---|
| Рисунок: Текст во входном файле |
![]() |
|---|
| Рисунок: Тот же текст с обновлённым форматированием |
// Создать объект 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();
}
}
Установка свойств шрифта текста
Как упоминалось в разделе Управление свойствами шрифтов, объект Portion используется для хранения текста с одинаковым стилем форматирования в абзаце. В этой статье показано, как с помощью Aspose.Slides for Node.js via Java создать текстовое поле с некоторым текстом, а затем задать определённый шрифт и различные другие свойства семейства шрифтов.
Чтобы создать текстовое поле и задать свойства шрифта текста в нём:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, указав его индекс.
- Добавьте на слайд AutoShape типа Rectangle.
- Удалите стиль заливки, связанный с AutoShape.
- Доступ к TextFrame объекта AutoShape.
- Добавьте некоторый текст в TextFrame.
- Доступ к объекту Portion, связанному с TextFrame.
- Определите шрифт, который будет использоваться для Portion.
- Установите остальные свойства шрифта, такие как полужирный, курсив, подчёркивание, цвет и высоту, используя соответствующие свойства, предоставляемые объектом Portion.
- Запишите изменённую презентацию в файл PPTX.
Реализация перечисленных шагов указана ниже.
![]() |
|---|
| Рисунок: Текст с некоторыми установленными свойствами шрифта, созданный 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();
}
}


