Linienformen zu Präsentationen in PHP hinzufügen

Eine einfache Linie erstellen

Um einer ausgewählten Folie der Präsentation eine einfache gerade Linie hinzuzufügen, führen Sie die folgenden Schritte aus:

  • Erstellen Sie eine Instanz der Presentation-Klasse.
  • Holen Sie sich die Referenz einer Folie, indem Sie deren Index verwenden.
  • Fügen Sie mit der Methode addAutoShape, die vom ShapeCollection-Objekt bereitgestellt wird, eine AutoShape des Typs Line hinzu.
  • Schreiben Sie die geänderte Präsentation als PPTX‑Datei.

Im nachstehenden Beispiel haben wir der ersten Folie der Präsentation eine Linie hinzugefügt.

  # Instanziieren Sie die PresentationEx-Klasse, die die PPTX-Datei darstellt
  $pres = new Presentation();
  try {
    # Holen Sie die erste Folie
    $sld = $pres->getSlides()->get_Item(0);
    # Fügen Sie eine AutoShape vom Typ Linie hinzu
    $sld->getShapes()->addAutoShape(ShapeType::Line, 50, 150, 300, 0);
    # Schreiben Sie die PPTX auf die Festplatte
    $pres->save("LineShape.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Eine pfeilförmige Linie erstellen

Aspose.Slides for PHP via Java ermöglicht es Entwicklern außerdem, einige Eigenschaften der Linie zu konfigurieren, damit sie ansprechender wirkt. Lassen Sie uns einige Eigenschaften einer Linie konfigurieren, sodass sie wie ein Pfeil aussieht. Befolgen Sie dazu die folgenden Schritte:

  • Erstellen Sie eine Instanz der Presentation-Klasse.
  • Holen Sie sich die Referenz einer Folie, indem Sie deren Index verwenden.
  • Fügen Sie mit der Methode addAutoShape, die vom ShapeCollection-Objekt bereitgestellt wird, eine AutoShape des Typs Line hinzu.
  • Setzen Sie den Line Style auf einen der von Aspose.Slides for PHP via Java angebotenen Stile.
  • Setzen Sie die Breite der Linie.
  • Setzen Sie den Dash Style der Linie auf einen der von Aspose.Slides for PHP via Java angebotenen Stile.
  • Setzen Sie den Arrow Head Style und die Length des Startpunkts der Linie.
  • Setzen Sie den Arrow Head Style und die Length des Endpunkts der Linie.
  • Schreiben Sie die geänderte Präsentation als PPTX‑Datei.
  # Instanziieren Sie die PresentationEx-Klasse, die die PPTX-Datei darstellt
  $pres = new Presentation();
  try {
    # Holen Sie die erste Folie
    $sld = $pres->getSlides()->get_Item(0);
    # Fügen Sie eine AutoShape vom Typ Linie hinzu
    $shp = $sld->getShapes()->addAutoShape(ShapeType::Line, 50, 150, 300, 0);
    # Wenden Sie einige Formatierungen auf die Linie an
    $shp->getLineFormat()->setStyle(LineStyle->ThickBetweenThin);
    $shp->getLineFormat()->setWidth(10);
    $shp->getLineFormat()->setDashStyle(LineDashStyle->DashDot);
    $shp->getLineFormat()->setBeginArrowheadLength(LineArrowheadLength->Short);
    $shp->getLineFormat()->setBeginArrowheadStyle(LineArrowheadStyle->Oval);
    $shp->getLineFormat()->setEndArrowheadLength(LineArrowheadLength->Long);
    $shp->getLineFormat()->setEndArrowheadStyle(LineArrowheadStyle->Triangle);
    $shp->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
    $shp->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(new java("java.awt.Color", PresetColor->Maroon));
    # Schreiben Sie die PPTX auf die Festplatte
    $pres->save("LineShape.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Kann ich eine normale Linie in einen Verbinder umwandeln, damit sie „einrastet“?

Nein. Eine normale Linie (eine AutoShape vom Typ Line) wird nicht automatisch zu einem Verbinder. Verwenden Sie den speziellen Connector-Typ und die dazugehörigen APIs(/slides/de/php-java/connector/) für Verbindungen.

Was tun, wenn die Eigenschaften einer Linie vom Theme geerbt werden und die endgültigen Werte schwer zu ermitteln sind?

Lesen Sie die effektiven Eigenschaften über LineFormatEffectiveData/LineFillFormatEffectiveData — diese berücksichtigen bereits Vererbung und Theme‑Stile.

Kann ich eine Linie vor Bearbeitung (Verschieben, Größ ändern) sperren?

Ja. Shapes bieten Lock‑Objekte, mit denen Sie Bearbeitungsvorgänge verhindern können.