Linienformen zu Präsentationen in PHP hinzufügen

Eine einfache Linie erstellen

Um einer ausgewählten Folie der Präsentation eine einfache Linie hinzuzufügen, folgen Sie bitte den untenstehenden Schritten:

  • Erstellen Sie eine Instanz der Klasse Presentation.
  • Rufen Sie die Referenz einer Folie unter Verwendung ihres Indexes ab.
  • Fügen Sie eine AutoShape des Typs Linie mithilfe der Methode addAutoShape hinzu, die vom Objekt IShapeCollection bereitgestellt wird.
  • Schreiben Sie die geänderte Präsentation als PPTX-Datei.

Im nachstehenden Beispiel haben wir eine Linie zur ersten Folie der Präsentation 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);
    # Speichern Sie die PPTX-Datei auf dem Datenträger
    $pres->save("LineShape.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Pfeilförmige Linie erstellen

Aspose.Slides für PHP via Java ermöglicht es Entwicklern außerdem, einige Eigenschaften der Linie zu konfigurieren, um sie ansprechender zu gestalten. Lassen Sie uns ein paar Eigenschaften einer Linie konfigurieren, damit sie wie ein Pfeil aussieht. Befolgen Sie dazu die untenstehenden Schritte:

  • Erstellen Sie eine Instanz der Klasse Presentation.
  • Rufen Sie die Referenz einer Folie unter Verwendung ihres Indexes ab.
  • Fügen Sie eine AutoShape des Typs Linie mithilfe der Methode addAutoShape hinzu, die vom Objekt IShapeCollection bereitgestellt wird.
  • Setzen Sie den Line Style auf einen der von Aspose.Slides für PHP via Java angebotenen Stile.
  • Legen Sie die Breite der Linie fest.
  • Setzen Sie den Dash Style der Linie auf einen der von Aspose.Slides für 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 reguläre Linie in einen Connector umwandeln, damit sie an Formen „snapt“?

Nein. Eine reguläre Linie (ein AutoShape vom Typ Line) wird nicht automatisch zu einem Connector. Um sie an Formen anzupassen, verwenden Sie den dedizierten Connector‑Typ und die corresponding APIs für Verbindungen.

Was soll ich tun, wenn die Eigenschaften einer Linie von dem Theme geerbt werden und es schwierig ist, die endgültigen Werte zu bestimmen?

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

Kann ich eine Linie gegen Bearbeitung (Verschieben, Größenänderung) sperren?

Ja. Formen stellen lock objects bereit, mit denen Sie disallow editing operations unterbinden können.