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