Управление шрифтами в презентациях с помощью PHP
Contents
[
Hide
]
Управление свойствами шрифтов
Презентации обычно содержат как текст, так и изображения. Текст можно форматировать различными способами, либо чтобы выделить определённые разделы и слова, либо чтобы соответствовать корпоративным стилям. Форматирование текста помогает пользователям варьировать внешний вид содержимого презентации. В этой статье показано, как использовать Aspose.Slides for PHP via Java для настройки свойств шрифта абзацев текста на слайдах.
Для управления свойствами шрифта абзаца с помощью Aspose.Slides for PHP via Java:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Получите формы Placeholder на слайде и приведите их к типу AutoShape.
- Получите Paragraph из TextFrame, предоставляемого AutoShape.
- Выровняйте абзац по ширине.
- Получите Portion текста Paragraph.
- Определите шрифт с помощью FontData и соответственно установите Font текста Portion.
- Установите шрифт полужирным.
- Установите шрифт курсивом.
- Установите цвет шрифта с помощью FillFormat, предоставляемого объектом Portion.
- Сохраните изменённую презентацию в файл PPTX.
Реализация указанных выше шагов приведена ниже. Она берёт простую презентацию и форматирует шрифты на одном из слайдов. Снятые скриншоты показывают исходный файл и то, как фрагменты кода изменяют его. Код изменяет шрифт, цвет и стиль шрифта.
![]() |
|---|
| Рисунок: Текст во входном файле |
![]() |
|---|
| Рисунок: Тот же текст с обновлённым форматированием |
# Создать объект Presentation, представляющий файл PPTX
$pres = new Presentation("FontProperties.pptx");
try {
# Получить слайд по его позиции
$slide = $pres->getSlides()->get_Item(0);
# Получить первый и второй плейсхолдер на слайде и привести их к типу AutoShape
$tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
$tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
# Получить первый абзац
$para1 = $tf1->getParagraphs()->get_Item(0);
$para2 = $tf2->getParagraphs()->get_Item(0);
# Выравнивание абзаца по ширине
$para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
# Получить первую часть
$port1 = $para1->getPortions()->get_Item(0);
$port2 = $para2->getPortions()->get_Item(0);
# Определить новые шрифты
$fd1 = new FontData("Elephant");
$fd2 = new FontData("Castellar");
# Назначить новые шрифты части
$port1->getPortionFormat()->setLatinFont($fd1);
$port2->getPortionFormat()->setLatinFont($fd2);
# Установить шрифт жирным
$port1->getPortionFormat()->setFontBold(NullableBool::True);
$port2->getPortionFormat()->setFontBold(NullableBool::True);
# Установить шрифт курсивом
$port1->getPortionFormat()->setFontItalic(NullableBool::True);
$port2->getPortionFormat()->setFontItalic(NullableBool::True);
# Установить цвет шрифта
$port1->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port1->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$port2->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port2->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
# Сохранить PPTX на диск
$pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Установка свойств шрифта текста
Как упоминалось в Управление свойствами шрифтов, объект Portion используется для хранения текста с одинаковым стилем форматирования в абзаце. В этой статье показано, как использовать Aspose.Slides for PHP via Java для создания текстового поля с некоторым текстом, а затем определить конкретный шрифт и различные другие свойства семейства шрифтов.
Для создания текстового поля и установки свойств шрифта текста в нём:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте к слайду AutoShape типа Rectangle.
- Удалите стиль заливки, связанный с AutoShape.
- Получите TextFrame у AutoShape.
- Добавьте некоторый текст в TextFrame.
- Получите объект Portion, связанный с TextFrame.
- Определите шрифт, который будет использоваться для Portion.
- Установите другие свойства шрифта, такие как полужирный, курсив, подчёркивание, цвет и высота, используя соответствующие свойства, предоставляемые объектом Portion.
- Запишите изменённую презентацию в файл PPTX.
Реализация указанных выше шагов приведена ниже.
![]() |
|---|
| Рисунок: Текст с установленными некоторыми свойствами шрифта, заданными Aspose.Slides for PHP via Java |
# Создать объект Presentation, представляющий файл PPTX
$pres = new Presentation();
try {
# Получить первый слайд
$sld = $pres->getSlides()->get_Item(0);
# Добавить AutoShape типа Rectangle
$ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
# Удалить любой стиль заливки, связанный с AutoShape
$ashp->getFillFormat()->setFillType(FillType::NoFill);
# Получить TextFrame, связанный с AutoShape
$tf = $ashp->getTextFrame();
$tf->setText("Aspose TextBox");
# Получить Portion, связанный с TextFrame
$port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
# Задать шрифт для Portion
$port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
# Установить свойство Bold для шрифта
$port->getPortionFormat()->setFontBold(NullableBool::True);
# Установить свойство Italic для шрифта
$port->getPortionFormat()->setFontItalic(NullableBool::True);
# Установить свойство Underline для шрифта
$port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
# Задать высоту шрифта
$port->getPortionFormat()->setFontHeight(25);
# Установить цвет шрифта
$port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
# Сохранить презентацию на диск
$pres->save("pptxFont.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}


