Управление шрифтами - PowerPoint Java API

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

Чтобы управлять свойствами шрифта абзаца с помощью Aspose.Slides для PHP через 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
  $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();
    }
  }

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

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

  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 для 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();
    }
  }