Zarządzanie czcionkami w prezentacjach przy użyciu PHP

Zarządzanie właściwościami czcionki

Aby zarządzać właściwościami czcionki akapitu przy użyciu Aspose.Slides dla PHP via Java:

  1. Utwórz instancję klasy Presentation.
  2. Uzyskaj referencję do slajdu, używając jego indeksu.
  3. Uzyskaj dostęp do kształtów Placeholder na slajdzie i rzutuj je na AutoShape.
  4. Pobierz Paragraph z TextFrame udostępnionego przez AutoShape.
  5. Wyrównaj akapit.
  6. Uzyskaj dostęp do tekstu Paragraph w postaci Portion.
  7. Zdefiniuj czcionkę przy pomocy FontData i ustaw Font tekstu Portion odpowiednio.
    1. Ustaw czcionkę jako pogrubioną.
    2. Ustaw czcionkę jako kursywę.
  8. Ustaw kolor czcionki przy użyciu FillFormat udostępnionego przez obiekt Portion.
  9. Zapisz zmodyfikowaną prezentację jako plik PPTX.

Implementacja powyższych kroków znajduje się poniżej. Pobiera ona prostą prezentację i formatuje czcionki na jednym ze slajdów. Zrzuty ekranu poniżej pokazują plik wejściowy oraz to, jak fragmenty kodu go modyfikują. Kod zmienia czcionkę, kolor i styl czcionki.

todo:image_alt_text
Rysunek: Tekst w pliku wejściowym
todo:image_alt_text
Rysunek: Ten sam tekst ze zaktualizowanym formatowaniem
  # Utwórz obiekt Presentation, który reprezentuje plik PPTX
  $pres = new Presentation("FontProperties.pptx");
  try {
    # Uzyskiwanie dostępu do slajdu przy użyciu jego pozycji
    $slide = $pres->getSlides()->get_Item(0);
    # Uzyskiwanie dostępu do pierwszego i drugiego placeholdera na slajdzie i rzutowanie go jako AutoShape
    $tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
    $tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
    # Uzyskiwanie dostępu do pierwszego akapitu
    $para1 = $tf1->getParagraphs()->get_Item(0);
    $para2 = $tf2->getParagraphs()->get_Item(0);
    # Wyrównaj akapit
    $para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
    # Uzyskiwanie dostępu do pierwszej części
    $port1 = $para1->getPortions()->get_Item(0);
    $port2 = $para2->getPortions()->get_Item(0);
    # Zdefiniuj nowe czcionki
    $fd1 = new FontData("Elephant");
    $fd2 = new FontData("Castellar");
    # Przypisz nowe czcionki do części
    $port1->getPortionFormat()->setLatinFont($fd1);
    $port2->getPortionFormat()->setLatinFont($fd2);
    # Ustaw czcionkę na pogrubioną
    $port1->getPortionFormat()->setFontBold(NullableBool::True);
    $port2->getPortionFormat()->setFontBold(NullableBool::True);
    # Ustaw czcionkę na kursywę
    $port1->getPortionFormat()->setFontItalic(NullableBool::True);
    $port2->getPortionFormat()->setFontItalic(NullableBool::True);
    # Ustaw kolor czcionki
    $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);
    # Zapisz plik PPTX na dysku
    $pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Ustawianie właściwości czcionki tekstu

Aby utworzyć pole tekstowe i ustawić właściwości czcionki tekstu w nim:

  1. Utwórz instancję klasy Presentation.
  2. Uzyskaj referencję do slajdu, używając jego indeksu.
  3. Dodaj do slajdu AutoShape typu Rectangle.
  4. Usuń styl wypełnienia powiązany z AutoShape.
  5. Uzyskaj dostęp do TextFrame obiektu AutoShape.
  6. Dodaj trochę tekstu do TextFrame.
  7. Uzyskaj dostęp do obiektu Portion powiązanego z TextFrame.
  8. Zdefiniuj czcionkę, którą ma używać Portion.
  9. Ustaw pozostałe właściwości czcionki, takie jak pogrubienie, kursywa, podkreślenie, kolor i wysokość, korzystając z odpowiednich właściwości udostępnionych przez obiekt Portion.
  10. Zapisz zmodyfikowaną prezentację jako plik PPTX.

Implementacja powyższych kroków znajduje się poniżej.

todo:image_alt_text
Rysunek: Tekst z niektórymi właściwościami czcionki ustawionymi przez Aspose.Slides dla PHP via Java
  # Utwórz obiekt Presentation, który reprezentuje plik PPTX
  $pres = new Presentation();
  try {
    # Pobierz pierwszy slajd
    $sld = $pres->getSlides()->get_Item(0);
    # Dodaj AutoShape typu Prostokąt
    $ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
    # Usuń wszelki styl wypełnienia powiązany z AutoShape
    $ashp->getFillFormat()->setFillType(FillType::NoFill);
    # Uzyskaj dostęp do TextFrame powiązanego z AutoShape
    $tf = $ashp->getTextFrame();
    $tf->setText("Aspose TextBox");
    # Uzyskaj dostęp do Portion powiązanego z TextFrame
    $port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
    # Ustaw czcionkę dla Portion
    $port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
    # Ustaw właściwość pogrubienia czcionki
    $port->getPortionFormat()->setFontBold(NullableBool::True);
    # Ustaw właściwość kursywy czcionki
    $port->getPortionFormat()->setFontItalic(NullableBool::True);
    # Ustaw właściwość podkreślenia czcionki
    $port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
    # Ustaw wysokość czcionki
    $port->getPortionFormat()->setFontHeight(25);
    # Ustaw kolor czcionki
    $port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    # Zapisz prezentację na dysku
    $pres->save("pptxFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }