Schriftarten verwalten - PowerPoint Java API

Schriftartbezogene Eigenschaften verwalten

Um die Schriftarteigenschaften eines Absatzes mit Aspose.Slides für PHP über Java zu verwalten:

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Erhalten Sie einen Verweis auf die Folie, indem Sie ihren Index verwenden.
  3. Greifen Sie auf die Placeholder Formen in der Folie zu und typwandeln Sie sie in AutoShape.
  4. Holen Sie sich den Paragraph aus dem TextFrame, der von AutoShape zur Verfügung gestellt wird.
  5. Rechtfertigen Sie den Absatz.
  6. Greifen Sie auf den Text Portion eines Paragraph zu.
  7. Definieren Sie die Schriftart mit FontData und setzen Sie die Schriftart des Text Portion entsprechend.
    1. Setzen Sie die Schriftart auf fett.
    2. Setzen Sie die Schriftart auf kursiv.
  8. Setzen Sie die Schriftfarbe mit dem FillFormat, das vom Portion Objekt bereitgestellt wird.
  9. Speichern Sie die modifizierte Präsentation in einer PPTX-Datei.

Die Implementierung der obigen Schritte ist unten angegeben. Sie nimmt eine ungeschmückte Präsentation und formatiert die Schriftarten auf einer der Folien. Die nachfolgenden Screenshots zeigen die Eingabedatei und wie die Code-Snippets sie ändern. Der Code ändert die Schriftart, die Farbe und den Schriftstil.

todo:image_alt_text
Abbildung: Der Text in der Eingabedatei
todo:image_alt_text
Abbildung: Der gleiche Text mit aktualisierter Formatierung
  # Erstellen Sie ein Presentation-Objekt, das eine PPTX-Datei darstellt
  $pres = new Presentation("FontProperties.pptx");
  try {
    # Zugriff auf eine Folie anhand ihrer Position
    $slide = $pres->getSlides()->get_Item(0);
    # Zugriff auf den ersten und zweiten Placeholder in der Folie und typwandeln als AutoShape
    $tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
    $tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
    # Zugriff auf den ersten Paragraph
    $para1 = $tf1->getParagraphs()->get_Item(0);
    $para2 = $tf2->getParagraphs()->get_Item(0);
    # Den Absatz rechtfertigen
    $para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
    # Zugriff auf den ersten Anteil
    $port1 = $para1->getPortions()->get_Item(0);
    $port2 = $para2->getPortions()->get_Item(0);
    # Neue Schriftarten definieren
    $fd1 = new FontData("Elephant");
    $fd2 = new FontData("Castellar");
    # Neue Schriftarten dem Anteil zuweisen
    $port1->getPortionFormat()->setLatinFont($fd1);
    $port2->getPortionFormat()->setLatinFont($fd2);
    # Schriftart auf fett setzen
    $port1->getPortionFormat()->setFontBold(NullableBool::True);
    $port2->getPortionFormat()->setFontBold(NullableBool::True);
    # Schriftart auf kursiv setzen
    $port1->getPortionFormat()->setFontItalic(NullableBool::True);
    $port2->getPortionFormat()->setFontItalic(NullableBool::True);
    # Schriftfarbe setzen
    $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 auf die Festplatte speichern
    $pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Textschriftarteigenschaften festlegen

Um ein Textfeld zu erstellen und die Schriftarteigenschaften des darin enthaltenen Textes festzulegen:

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Erhalten Sie den Verweis auf eine Folie, indem Sie ihren Index verwenden.
  3. Fügen Sie der Folie eine AutoShape des Typs Rechteck hinzu.
  4. Entfernen Sie den Füllstil, der mit der AutoShape verbunden ist.
  5. Greifen Sie auf das TextFrame der AutoShape zu.
  6. Fügen Sie etwas Text zum TextFrame hinzu.
  7. Greifen Sie auf das Portion Objekt zu, das mit dem TextFrame verbunden ist.
  8. Definieren Sie die zu verwendende Schriftart für das Portion.
  9. Setzen Sie andere Schriftarteigenschaften wie fett, kursiv, unterstrichen, Farbe und Höhe mithilfe der relevanten Eigenschaften, die vom Portion Objekt bereitgestellt werden.
  10. Schreiben Sie die modifizierte Präsentation als PPTX-Datei.

Die Implementierung der obigen Schritte ist unten angegeben.

todo:image_alt_text
Abbildung: Text mit einigen von Aspose.Slides für PHP über Java festgelegten Schriftarteigenschaften
  # Erstellen Sie ein Presentation-Objekt, das eine PPTX-Datei darstellt
  $pres = new Presentation();
  try {
    # Erhalten Sie die erste Folie
    $sld = $pres->getSlides()->get_Item(0);
    # Fügen Sie eine AutoShape vom Rechtecktyp hinzu
    $ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
    # Entfernen Sie jeglichen Füllstil, der mit der AutoShape verbunden ist
    $ashp->getFillFormat()->setFillType(FillType::NoFill);
    # Greifen Sie auf das TextFrame der AutoShape zu
    $tf = $ashp->getTextFrame();
    $tf->setText("Aspose TextBox");
    # Greifen Sie auf den Anteil zu, der mit dem TextFrame verbunden ist
    $port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
    # Setzen Sie die Schriftart für den Anteil
    $port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
    # Setzen Sie die Fettschrift-Eigenschaft der Schriftart
    $port->getPortionFormat()->setFontBold(NullableBool::True);
    # Setzen Sie die Kursiveigenschaft der Schriftart
    $port->getPortionFormat()->setFontItalic(NullableBool::True);
    # Setzen Sie die Unterstreichungseigenschaft der Schriftart
    $port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
    # Setzen Sie die Höhe der Schriftart
    $port->getPortionFormat()->setFontHeight(25);
    # Setzen Sie die Farbe der Schriftart
    $port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    # Speichern Sie die Präsentation auf der Festplatte
    $pres->save("pptxFont.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }